Browsers
|
-Load @octokit/core directly from cdn.skypack.dev
-
+Load @octokit/core directly from esm.sh
+
```html
```
@@ -83,7 +83,7 @@ const response = await octokit.graphql(
}
}
}`,
- { login: "octokit" }
+ { login: "octokit" },
);
```
@@ -166,7 +166,7 @@ octokit.request("POST /repos/{owner}/{repo}/pulls", {
owner,
repo,
title: "My pull request",
- base: "master",
+ base: "main",
head: "my-feature",
draft: true,
});
@@ -271,7 +271,7 @@ If you need a deep or conditional merge, you can pass a function instead.
```js
const MyOctokit = Octokit.defaults((options) => {
return {
- foo: Object.assign({}, options.foo, { opt2: 1 }),
+ foo: Object.assign({}, options.foo, { opt1: 1 }),
};
});
const octokit = new MyOctokit({
@@ -382,7 +382,7 @@ A plugin is a function which gets two arguments:
1. the current instance
2. the options passed to the constructor.
-In order to extend `octokit`'s API, the plugin must return an object with the new methods.
+In order to extend `octokit`'s API, the plugin must return an object with the new methods. Please refrain from adding methods directly to the `octokit` instance, especialy if you depend on keys that do not exist in `@octokit/core`, such as `octokit.rest`.
```js
// index.js
@@ -425,7 +425,7 @@ const { Octokit } = require("@octokit/core");
const MyActionOctokit = Octokit.plugin(
require("@octokit/plugin-paginate-rest").paginateRest,
require("@octokit/plugin-throttling").throttling,
- require("@octokit/plugin-retry").retry
+ require("@octokit/plugin-retry").retry,
).defaults({
throttle: {
onAbuseLimit: (retryAfter, options) => {
diff --git a/node_modules/@octokit/core/dist-node/index.js b/node_modules/@octokit/core/dist-node/index.js
index 0f46e61e..aa469025 100644
--- a/node_modules/@octokit/core/dist-node/index.js
+++ b/node_modules/@octokit/core/dist-node/index.js
@@ -1,57 +1,93 @@
-'use strict';
-
-Object.defineProperty(exports, '__esModule', { value: true });
-
-var universalUserAgent = require('universal-user-agent');
-var beforeAfterHook = require('before-after-hook');
-var request = require('@octokit/request');
-var graphql = require('@octokit/graphql');
-var authToken = require('@octokit/auth-token');
-
-function _objectWithoutPropertiesLoose(source, excluded) {
- if (source == null) return {};
- var target = {};
- var sourceKeys = Object.keys(source);
- var key, i;
-
- for (i = 0; i < sourceKeys.length; i++) {
- key = sourceKeys[i];
- if (excluded.indexOf(key) >= 0) continue;
- target[key] = source[key];
+"use strict";
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
-
- return target;
-}
-
-function _objectWithoutProperties(source, excluded) {
- if (source == null) return {};
-
- var target = _objectWithoutPropertiesLoose(source, excluded);
-
- var key, i;
-
- if (Object.getOwnPropertySymbols) {
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
-
- for (i = 0; i < sourceSymbolKeys.length; i++) {
- key = sourceSymbolKeys[i];
- if (excluded.indexOf(key) >= 0) continue;
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
- target[key] = source[key];
- }
+ return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+// pkg/dist-src/index.js
+var dist_src_exports = {};
+__export(dist_src_exports, {
+ Octokit: () => Octokit
+});
+module.exports = __toCommonJS(dist_src_exports);
+var import_universal_user_agent = require("universal-user-agent");
+var import_before_after_hook = require("before-after-hook");
+var import_request = require("@octokit/request");
+var import_graphql = require("@octokit/graphql");
+var import_auth_token = require("@octokit/auth-token");
+
+// pkg/dist-src/version.js
+var VERSION = "5.0.2";
+
+// pkg/dist-src/index.js
+var noop = () => {
+};
+var consoleWarn = console.warn.bind(console);
+var consoleError = console.error.bind(console);
+var userAgentTrail = `octokit-core.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`;
+var Octokit = class {
+ static {
+ this.VERSION = VERSION;
+ }
+ static defaults(defaults) {
+ const OctokitWithDefaults = class extends this {
+ constructor(...args) {
+ const options = args[0] || {};
+ if (typeof defaults === "function") {
+ super(defaults(options));
+ return;
+ }
+ super(
+ Object.assign(
+ {},
+ defaults,
+ options,
+ options.userAgent && defaults.userAgent ? {
+ userAgent: `${options.userAgent} ${defaults.userAgent}`
+ } : null
+ )
+ );
+ }
+ };
+ return OctokitWithDefaults;
+ }
+ static {
+ this.plugins = [];
+ }
+ /**
+ * Attach a plugin (or many) to your Octokit instance.
+ *
+ * @example
+ * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
+ */
+ static plugin(...newPlugins) {
+ const currentPlugins = this.plugins;
+ const NewOctokit = class extends this {
+ static {
+ this.plugins = currentPlugins.concat(
+ newPlugins.filter((plugin) => !currentPlugins.includes(plugin))
+ );
+ }
+ };
+ return NewOctokit;
}
-
- return target;
-}
-
-const VERSION = "3.6.0";
-
-const _excluded = ["authStrategy"];
-class Octokit {
constructor(options = {}) {
- const hook = new beforeAfterHook.Collection();
+ const hook = new import_before_after_hook.Collection();
const requestDefaults = {
- baseUrl: request.request.endpoint.DEFAULTS.baseUrl,
+ baseUrl: import_request.request.endpoint.DEFAULTS.baseUrl,
headers: {},
request: Object.assign({}, options.request, {
// @ts-ignore internal usage only, no need to type
@@ -61,116 +97,67 @@ class Octokit {
previews: [],
format: ""
}
- }; // prepend default user agent with `options.userAgent` if set
-
- requestDefaults.headers["user-agent"] = [options.userAgent, `octokit-core.js/${VERSION} ${universalUserAgent.getUserAgent()}`].filter(Boolean).join(" ");
-
+ };
+ requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
if (options.baseUrl) {
requestDefaults.baseUrl = options.baseUrl;
}
-
if (options.previews) {
requestDefaults.mediaType.previews = options.previews;
}
-
if (options.timeZone) {
requestDefaults.headers["time-zone"] = options.timeZone;
}
-
- this.request = request.request.defaults(requestDefaults);
- this.graphql = graphql.withCustomRequest(this.request).defaults(requestDefaults);
- this.log = Object.assign({
- debug: () => {},
- info: () => {},
- warn: console.warn.bind(console),
- error: console.error.bind(console)
- }, options.log);
- this.hook = hook; // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance
- // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.
- // (2) If only `options.auth` is set, use the default token authentication strategy.
- // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.
- // TODO: type `options.auth` based on `options.authStrategy`.
-
+ this.request = import_request.request.defaults(requestDefaults);
+ this.graphql = (0, import_graphql.withCustomRequest)(this.request).defaults(requestDefaults);
+ this.log = Object.assign(
+ {
+ debug: noop,
+ info: noop,
+ warn: consoleWarn,
+ error: consoleError
+ },
+ options.log
+ );
+ this.hook = hook;
if (!options.authStrategy) {
if (!options.auth) {
- // (1)
this.auth = async () => ({
type: "unauthenticated"
});
} else {
- // (2)
- const auth = authToken.createTokenAuth(options.auth); // @ts-ignore ¯\_(ツ)_/¯
-
+ const auth = (0, import_auth_token.createTokenAuth)(options.auth);
hook.wrap("request", auth.hook);
this.auth = auth;
}
} else {
- const {
- authStrategy
- } = options,
- otherOptions = _objectWithoutProperties(options, _excluded);
-
- const auth = authStrategy(Object.assign({
- request: this.request,
- log: this.log,
- // we pass the current octokit instance as well as its constructor options
- // to allow for authentication strategies that return a new octokit instance
- // that shares the same internal state as the current one. The original
- // requirement for this was the "event-octokit" authentication strategy
- // of https://github.com/probot/octokit-auth-probot.
- octokit: this,
- octokitOptions: otherOptions
- }, options.auth)); // @ts-ignore ¯\_(ツ)_/¯
-
+ const { authStrategy, ...otherOptions } = options;
+ const auth = authStrategy(
+ Object.assign(
+ {
+ request: this.request,
+ log: this.log,
+ // we pass the current octokit instance as well as its constructor options
+ // to allow for authentication strategies that return a new octokit instance
+ // that shares the same internal state as the current one. The original
+ // requirement for this was the "event-octokit" authentication strategy
+ // of https://github.com/probot/octokit-auth-probot.
+ octokit: this,
+ octokitOptions: otherOptions
+ },
+ options.auth
+ )
+ );
hook.wrap("request", auth.hook);
this.auth = auth;
- } // apply plugins
- // https://stackoverflow.com/a/16345172
-
-
+ }
const classConstructor = this.constructor;
- classConstructor.plugins.forEach(plugin => {
- Object.assign(this, plugin(this, options));
- });
- }
-
- static defaults(defaults) {
- const OctokitWithDefaults = class extends this {
- constructor(...args) {
- const options = args[0] || {};
-
- if (typeof defaults === "function") {
- super(defaults(options));
- return;
- }
-
- super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent ? {
- userAgent: `${options.userAgent} ${defaults.userAgent}`
- } : null));
- }
-
- };
- return OctokitWithDefaults;
- }
- /**
- * Attach a plugin (or many) to your Octokit instance.
- *
- * @example
- * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
- */
-
-
- static plugin(...newPlugins) {
- var _a;
-
- const currentPlugins = this.plugins;
- const NewOctokit = (_a = class extends this {}, _a.plugins = currentPlugins.concat(newPlugins.filter(plugin => !currentPlugins.includes(plugin))), _a);
- return NewOctokit;
+ for (let i = 0; i < classConstructor.plugins.length; ++i) {
+ Object.assign(this, classConstructor.plugins[i](this, options));
+ }
}
-
-}
-Octokit.VERSION = VERSION;
-Octokit.plugins = [];
-
-exports.Octokit = Octokit;
-//# sourceMappingURL=index.js.map
+};
+// Annotate the CommonJS export names for ESM import in node:
+0 && (module.exports = {
+ Octokit
+});
diff --git a/node_modules/@octokit/core/dist-node/index.js.map b/node_modules/@octokit/core/dist-node/index.js.map
index 3467e527..6673f387 100644
--- a/node_modules/@octokit/core/dist-node/index.js.map
+++ b/node_modules/@octokit/core/dist-node/index.js.map
@@ -1 +1,7 @@
-{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"3.6.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n"],"names":["VERSION","Octokit","constructor","options","hook","Collection","requestDefaults","baseUrl","request","endpoint","DEFAULTS","headers","Object","assign","bind","mediaType","previews","format","userAgent","getUserAgent","filter","Boolean","join","timeZone","defaults","graphql","withCustomRequest","log","debug","info","warn","console","error","authStrategy","auth","type","createTokenAuth","wrap","otherOptions","octokit","octokitOptions","classConstructor","plugins","forEach","plugin","OctokitWithDefaults","args","newPlugins","_a","currentPlugins","NewOctokit","concat","includes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;;ACAP,AAMO,MAAMC,OAAN,CAAc;AACjBC,EAAAA,WAAW,CAACC,OAAO,GAAG,EAAX,EAAe;AACtB,UAAMC,IAAI,GAAG,IAAIC,0BAAJ,EAAb;AACA,UAAMC,eAAe,GAAG;AACpBC,MAAAA,OAAO,EAAEC,eAAO,CAACC,QAAR,CAAiBC,QAAjB,CAA0BH,OADf;AAEpBI,MAAAA,OAAO,EAAE,EAFW;AAGpBH,MAAAA,OAAO,EAAEI,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBV,OAAO,CAACK,OAA1B,EAAmC;AACxC;AACAJ,QAAAA,IAAI,EAAEA,IAAI,CAACU,IAAL,CAAU,IAAV,EAAgB,SAAhB;AAFkC,OAAnC,CAHW;AAOpBC,MAAAA,SAAS,EAAE;AACPC,QAAAA,QAAQ,EAAE,EADH;AAEPC,QAAAA,MAAM,EAAE;AAFD;AAPS,KAAxB,CAFsB;;AAetBX,IAAAA,eAAe,CAACK,OAAhB,CAAwB,YAAxB,IAAwC,CACpCR,OAAO,CAACe,SAD4B,EAEnC,mBAAkBlB,OAAQ,IAAGmB,+BAAY,EAAG,EAFT,EAInCC,MAJmC,CAI5BC,OAJ4B,EAKnCC,IALmC,CAK9B,GAL8B,CAAxC;;AAMA,QAAInB,OAAO,CAACI,OAAZ,EAAqB;AACjBD,MAAAA,eAAe,CAACC,OAAhB,GAA0BJ,OAAO,CAACI,OAAlC;AACH;;AACD,QAAIJ,OAAO,CAACa,QAAZ,EAAsB;AAClBV,MAAAA,eAAe,CAACS,SAAhB,CAA0BC,QAA1B,GAAqCb,OAAO,CAACa,QAA7C;AACH;;AACD,QAAIb,OAAO,CAACoB,QAAZ,EAAsB;AAClBjB,MAAAA,eAAe,CAACK,OAAhB,CAAwB,WAAxB,IAAuCR,OAAO,CAACoB,QAA/C;AACH;;AACD,SAAKf,OAAL,GAAeA,eAAO,CAACgB,QAAR,CAAiBlB,eAAjB,CAAf;AACA,SAAKmB,OAAL,GAAeC,yBAAiB,CAAC,KAAKlB,OAAN,CAAjB,CAAgCgB,QAAhC,CAAyClB,eAAzC,CAAf;AACA,SAAKqB,GAAL,GAAWf,MAAM,CAACC,MAAP,CAAc;AACrBe,MAAAA,KAAK,EAAE,MAAM,EADQ;AAErBC,MAAAA,IAAI,EAAE,MAAM,EAFS;AAGrBC,MAAAA,IAAI,EAAEC,OAAO,CAACD,IAAR,CAAahB,IAAb,CAAkBiB,OAAlB,CAHe;AAIrBC,MAAAA,KAAK,EAAED,OAAO,CAACC,KAAR,CAAclB,IAAd,CAAmBiB,OAAnB;AAJc,KAAd,EAKR5B,OAAO,CAACwB,GALA,CAAX;AAMA,SAAKvB,IAAL,GAAYA,IAAZ,CAtCsB;AAwCtB;AACA;AACA;AACA;;AACA,QAAI,CAACD,OAAO,CAAC8B,YAAb,EAA2B;AACvB,UAAI,CAAC9B,OAAO,CAAC+B,IAAb,EAAmB;AACf;AACA,aAAKA,IAAL,GAAY,aAAa;AACrBC,UAAAA,IAAI,EAAE;AADe,SAAb,CAAZ;AAGH,OALD,MAMK;AACD;AACA,cAAMD,IAAI,GAAGE,yBAAe,CAACjC,OAAO,CAAC+B,IAAT,CAA5B,CAFC;;AAID9B,QAAAA,IAAI,CAACiC,IAAL,CAAU,SAAV,EAAqBH,IAAI,CAAC9B,IAA1B;AACA,aAAK8B,IAAL,GAAYA,IAAZ;AACH;AACJ,KAdD,MAeK;AACD,YAAM;AAAED,QAAAA;AAAF,UAAoC9B,OAA1C;AAAA,YAAyBmC,YAAzB,4BAA0CnC,OAA1C;;AACA,YAAM+B,IAAI,GAAGD,YAAY,CAACrB,MAAM,CAACC,MAAP,CAAc;AACpCL,QAAAA,OAAO,EAAE,KAAKA,OADsB;AAEpCmB,QAAAA,GAAG,EAAE,KAAKA,GAF0B;AAGpC;AACA;AACA;AACA;AACA;AACAY,QAAAA,OAAO,EAAE,IAR2B;AASpCC,QAAAA,cAAc,EAAEF;AAToB,OAAd,EAUvBnC,OAAO,CAAC+B,IAVe,CAAD,CAAzB,CAFC;;AAcD9B,MAAAA,IAAI,CAACiC,IAAL,CAAU,SAAV,EAAqBH,IAAI,CAAC9B,IAA1B;AACA,WAAK8B,IAAL,GAAYA,IAAZ;AACH,KA3EqB;AA6EtB;;;AACA,UAAMO,gBAAgB,GAAG,KAAKvC,WAA9B;AACAuC,IAAAA,gBAAgB,CAACC,OAAjB,CAAyBC,OAAzB,CAAkCC,MAAD,IAAY;AACzChC,MAAAA,MAAM,CAACC,MAAP,CAAc,IAAd,EAAoB+B,MAAM,CAAC,IAAD,EAAOzC,OAAP,CAA1B;AACH,KAFD;AAGH;;AACc,SAARqB,QAAQ,CAACA,QAAD,EAAW;AACtB,UAAMqB,mBAAmB,GAAG,cAAc,IAAd,CAAmB;AAC3C3C,MAAAA,WAAW,CAAC,GAAG4C,IAAJ,EAAU;AACjB,cAAM3C,OAAO,GAAG2C,IAAI,CAAC,CAAD,CAAJ,IAAW,EAA3B;;AACA,YAAI,OAAOtB,QAAP,KAAoB,UAAxB,EAAoC;AAChC,gBAAMA,QAAQ,CAACrB,OAAD,CAAd;AACA;AACH;;AACD,cAAMS,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBW,QAAlB,EAA4BrB,OAA5B,EAAqCA,OAAO,CAACe,SAAR,IAAqBM,QAAQ,CAACN,SAA9B,GACrC;AACEA,UAAAA,SAAS,EAAG,GAAEf,OAAO,CAACe,SAAU,IAAGM,QAAQ,CAACN,SAAU;AADxD,SADqC,GAIrC,IAJA,CAAN;AAKH;;AAZ0C,KAA/C;AAcA,WAAO2B,mBAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACiB,SAAND,MAAM,CAAC,GAAGG,UAAJ,EAAgB;AACzB,QAAIC,EAAJ;;AACA,UAAMC,cAAc,GAAG,KAAKP,OAA5B;AACA,UAAMQ,UAAU,IAAIF,EAAE,GAAG,cAAc,IAAd,CAAmB,EAAxB,EAEhBA,EAAE,CAACN,OAAH,GAAaO,cAAc,CAACE,MAAf,CAAsBJ,UAAU,CAAC3B,MAAX,CAAmBwB,MAAD,IAAY,CAACK,cAAc,CAACG,QAAf,CAAwBR,MAAxB,CAA/B,CAAtB,CAFG,EAGhBI,EAHY,CAAhB;AAIA,WAAOE,UAAP;AACH;;AAnHgB;AAqHrBjD,OAAO,CAACD,OAAR,GAAkBA,OAAlB;AACAC,OAAO,CAACyC,OAAR,GAAkB,EAAlB;;;;"}
\ No newline at end of file
+{
+ "version": 3,
+ "sources": ["../dist-src/index.js", "../dist-src/version.js"],
+ "sourcesContent": ["import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { graphql, withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nconst noop = () => {\n};\nconst consoleWarn = console.warn.bind(console);\nconst consoleError = console.error.bind(console);\nconst userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`;\nclass Octokit {\n static {\n this.VERSION = VERSION;\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(\n Object.assign(\n {},\n defaults,\n options,\n options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null\n )\n );\n }\n };\n return OctokitWithDefaults;\n }\n static {\n this.plugins = [];\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n const currentPlugins = this.plugins;\n const NewOctokit = class extends this {\n static {\n this.plugins = currentPlugins.concat(\n newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n );\n }\n };\n return NewOctokit;\n }\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n };\n requestDefaults.headers[\"user-agent\"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign(\n {\n debug: noop,\n info: noop,\n warn: consoleWarn,\n error: consoleError\n },\n options.log\n );\n this.hook = hook;\n if (!options.authStrategy) {\n if (!options.auth) {\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n const auth = createTokenAuth(options.auth);\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(\n Object.assign(\n {\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n },\n options.auth\n )\n );\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n const classConstructor = this.constructor;\n for (let i = 0; i < classConstructor.plugins.length; ++i) {\n Object.assign(this, classConstructor.plugins[i](this, options));\n }\n }\n}\nexport {\n Octokit\n};\n", "const VERSION = \"5.0.2\";\nexport {\n VERSION\n};\n"],
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kCAA6B;AAC7B,+BAA2B;AAC3B,qBAAwB;AACxB,qBAA2C;AAC3C,wBAAgC;;;ACJhC,IAAM,UAAU;;;ADMhB,IAAM,OAAO,MAAM;AACnB;AACA,IAAM,cAAc,QAAQ,KAAK,KAAK,OAAO;AAC7C,IAAM,eAAe,QAAQ,MAAM,KAAK,OAAO;AAC/C,IAAM,iBAAiB,mBAAmB,OAAO,QAAI,0CAAa,CAAC;AACnE,IAAM,UAAN,MAAc;AAAA,EACZ,OAAO;AACL,SAAK,UAAU;AAAA,EACjB;AAAA,EACA,OAAO,SAAS,UAAU;AACxB,UAAM,sBAAsB,cAAc,KAAK;AAAA,MAC7C,eAAe,MAAM;AACnB,cAAM,UAAU,KAAK,CAAC,KAAK,CAAC;AAC5B,YAAI,OAAO,aAAa,YAAY;AAClC,gBAAM,SAAS,OAAO,CAAC;AACvB;AAAA,QACF;AACA;AAAA,UACE,OAAO;AAAA,YACL,CAAC;AAAA,YACD;AAAA,YACA;AAAA,YACA,QAAQ,aAAa,SAAS,YAAY;AAAA,cACxC,WAAW,GAAG,QAAQ,SAAS,IAAI,SAAS,SAAS;AAAA,YACvD,IAAI;AAAA,UACN;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,OAAO;AACL,SAAK,UAAU,CAAC;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,UAAU,YAAY;AAC3B,UAAM,iBAAiB,KAAK;AAC5B,UAAM,aAAa,cAAc,KAAK;AAAA,MACpC,OAAO;AACL,aAAK,UAAU,eAAe;AAAA,UAC5B,WAAW,OAAO,CAAC,WAAW,CAAC,eAAe,SAAS,MAAM,CAAC;AAAA,QAChE;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,UAAU,CAAC,GAAG;AACxB,UAAM,OAAO,IAAI,oCAAW;AAC5B,UAAM,kBAAkB;AAAA,MACtB,SAAS,uBAAQ,SAAS,SAAS;AAAA,MACnC,SAAS,CAAC;AAAA,MACV,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ,SAAS;AAAA;AAAA,QAE1C,MAAM,KAAK,KAAK,MAAM,SAAS;AAAA,MACjC,CAAC;AAAA,MACD,WAAW;AAAA,QACT,UAAU,CAAC;AAAA,QACX,QAAQ;AAAA,MACV;AAAA,IACF;AACA,oBAAgB,QAAQ,YAAY,IAAI,QAAQ,YAAY,GAAG,QAAQ,SAAS,IAAI,cAAc,KAAK;AACvG,QAAI,QAAQ,SAAS;AACnB,sBAAgB,UAAU,QAAQ;AAAA,IACpC;AACA,QAAI,QAAQ,UAAU;AACpB,sBAAgB,UAAU,WAAW,QAAQ;AAAA,IAC/C;AACA,QAAI,QAAQ,UAAU;AACpB,sBAAgB,QAAQ,WAAW,IAAI,QAAQ;AAAA,IACjD;AACA,SAAK,UAAU,uBAAQ,SAAS,eAAe;AAC/C,SAAK,cAAU,kCAAkB,KAAK,OAAO,EAAE,SAAS,eAAe;AACvE,SAAK,MAAM,OAAO;AAAA,MAChB;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,IACV;AACA,SAAK,OAAO;AACZ,QAAI,CAAC,QAAQ,cAAc;AACzB,UAAI,CAAC,QAAQ,MAAM;AACjB,aAAK,OAAO,aAAa;AAAA,UACvB,MAAM;AAAA,QACR;AAAA,MACF,OAAO;AACL,cAAM,WAAO,mCAAgB,QAAQ,IAAI;AACzC,aAAK,KAAK,WAAW,KAAK,IAAI;AAC9B,aAAK,OAAO;AAAA,MACd;AAAA,IACF,OAAO;AACL,YAAM,EAAE,cAAc,GAAG,aAAa,IAAI;AAC1C,YAAM,OAAO;AAAA,QACX,OAAO;AAAA,UACL;AAAA,YACE,SAAS,KAAK;AAAA,YACd,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMV,SAAS;AAAA,YACT,gBAAgB;AAAA,UAClB;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AACA,WAAK,KAAK,WAAW,KAAK,IAAI;AAC9B,WAAK,OAAO;AAAA,IACd;AACA,UAAM,mBAAmB,KAAK;AAC9B,aAAS,IAAI,GAAG,IAAI,iBAAiB,QAAQ,QAAQ,EAAE,GAAG;AACxD,aAAO,OAAO,MAAM,iBAAiB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;AAAA,IAChE;AAAA,EACF;AACF;",
+ "names": []
+}
diff --git a/node_modules/@octokit/core/dist-src/index.js b/node_modules/@octokit/core/dist-src/index.js
index bdbc335b..8efc841b 100644
--- a/node_modules/@octokit/core/dist-src/index.js
+++ b/node_modules/@octokit/core/dist-src/index.js
@@ -1,125 +1,133 @@
import { getUserAgent } from "universal-user-agent";
import { Collection } from "before-after-hook";
import { request } from "@octokit/request";
-import { withCustomRequest } from "@octokit/graphql";
+import { graphql, withCustomRequest } from "@octokit/graphql";
import { createTokenAuth } from "@octokit/auth-token";
import { VERSION } from "./version";
-export class Octokit {
- constructor(options = {}) {
- const hook = new Collection();
- const requestDefaults = {
- baseUrl: request.endpoint.DEFAULTS.baseUrl,
- headers: {},
- request: Object.assign({}, options.request, {
- // @ts-ignore internal usage only, no need to type
- hook: hook.bind(null, "request"),
- }),
- mediaType: {
- previews: [],
- format: "",
- },
- };
- // prepend default user agent with `options.userAgent` if set
- requestDefaults.headers["user-agent"] = [
- options.userAgent,
- `octokit-core.js/${VERSION} ${getUserAgent()}`,
- ]
- .filter(Boolean)
- .join(" ");
- if (options.baseUrl) {
- requestDefaults.baseUrl = options.baseUrl;
+const noop = () => {
+};
+const consoleWarn = console.warn.bind(console);
+const consoleError = console.error.bind(console);
+const userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`;
+class Octokit {
+ static {
+ this.VERSION = VERSION;
+ }
+ static defaults(defaults) {
+ const OctokitWithDefaults = class extends this {
+ constructor(...args) {
+ const options = args[0] || {};
+ if (typeof defaults === "function") {
+ super(defaults(options));
+ return;
}
- if (options.previews) {
- requestDefaults.mediaType.previews = options.previews;
- }
- if (options.timeZone) {
- requestDefaults.headers["time-zone"] = options.timeZone;
- }
- this.request = request.defaults(requestDefaults);
- this.graphql = withCustomRequest(this.request).defaults(requestDefaults);
- this.log = Object.assign({
- debug: () => { },
- info: () => { },
- warn: console.warn.bind(console),
- error: console.error.bind(console),
- }, options.log);
- this.hook = hook;
- // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance
- // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.
- // (2) If only `options.auth` is set, use the default token authentication strategy.
- // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.
- // TODO: type `options.auth` based on `options.authStrategy`.
- if (!options.authStrategy) {
- if (!options.auth) {
- // (1)
- this.auth = async () => ({
- type: "unauthenticated",
- });
- }
- else {
- // (2)
- const auth = createTokenAuth(options.auth);
- // @ts-ignore ¯\_(ツ)_/¯
- hook.wrap("request", auth.hook);
- this.auth = auth;
- }
- }
- else {
- const { authStrategy, ...otherOptions } = options;
- const auth = authStrategy(Object.assign({
- request: this.request,
- log: this.log,
- // we pass the current octokit instance as well as its constructor options
- // to allow for authentication strategies that return a new octokit instance
- // that shares the same internal state as the current one. The original
- // requirement for this was the "event-octokit" authentication strategy
- // of https://github.com/probot/octokit-auth-probot.
- octokit: this,
- octokitOptions: otherOptions,
- }, options.auth));
- // @ts-ignore ¯\_(ツ)_/¯
- hook.wrap("request", auth.hook);
- this.auth = auth;
- }
- // apply plugins
- // https://stackoverflow.com/a/16345172
- const classConstructor = this.constructor;
- classConstructor.plugins.forEach((plugin) => {
- Object.assign(this, plugin(this, options));
- });
+ super(
+ Object.assign(
+ {},
+ defaults,
+ options,
+ options.userAgent && defaults.userAgent ? {
+ userAgent: `${options.userAgent} ${defaults.userAgent}`
+ } : null
+ )
+ );
+ }
+ };
+ return OctokitWithDefaults;
+ }
+ static {
+ this.plugins = [];
+ }
+ /**
+ * Attach a plugin (or many) to your Octokit instance.
+ *
+ * @example
+ * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
+ */
+ static plugin(...newPlugins) {
+ const currentPlugins = this.plugins;
+ const NewOctokit = class extends this {
+ static {
+ this.plugins = currentPlugins.concat(
+ newPlugins.filter((plugin) => !currentPlugins.includes(plugin))
+ );
+ }
+ };
+ return NewOctokit;
+ }
+ constructor(options = {}) {
+ const hook = new Collection();
+ const requestDefaults = {
+ baseUrl: request.endpoint.DEFAULTS.baseUrl,
+ headers: {},
+ request: Object.assign({}, options.request, {
+ // @ts-ignore internal usage only, no need to type
+ hook: hook.bind(null, "request")
+ }),
+ mediaType: {
+ previews: [],
+ format: ""
+ }
+ };
+ requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
+ if (options.baseUrl) {
+ requestDefaults.baseUrl = options.baseUrl;
+ }
+ if (options.previews) {
+ requestDefaults.mediaType.previews = options.previews;
}
- static defaults(defaults) {
- const OctokitWithDefaults = class extends this {
- constructor(...args) {
- const options = args[0] || {};
- if (typeof defaults === "function") {
- super(defaults(options));
- return;
- }
- super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent
- ? {
- userAgent: `${options.userAgent} ${defaults.userAgent}`,
- }
- : null));
- }
- };
- return OctokitWithDefaults;
+ if (options.timeZone) {
+ requestDefaults.headers["time-zone"] = options.timeZone;
+ }
+ this.request = request.defaults(requestDefaults);
+ this.graphql = withCustomRequest(this.request).defaults(requestDefaults);
+ this.log = Object.assign(
+ {
+ debug: noop,
+ info: noop,
+ warn: consoleWarn,
+ error: consoleError
+ },
+ options.log
+ );
+ this.hook = hook;
+ if (!options.authStrategy) {
+ if (!options.auth) {
+ this.auth = async () => ({
+ type: "unauthenticated"
+ });
+ } else {
+ const auth = createTokenAuth(options.auth);
+ hook.wrap("request", auth.hook);
+ this.auth = auth;
+ }
+ } else {
+ const { authStrategy, ...otherOptions } = options;
+ const auth = authStrategy(
+ Object.assign(
+ {
+ request: this.request,
+ log: this.log,
+ // we pass the current octokit instance as well as its constructor options
+ // to allow for authentication strategies that return a new octokit instance
+ // that shares the same internal state as the current one. The original
+ // requirement for this was the "event-octokit" authentication strategy
+ // of https://github.com/probot/octokit-auth-probot.
+ octokit: this,
+ octokitOptions: otherOptions
+ },
+ options.auth
+ )
+ );
+ hook.wrap("request", auth.hook);
+ this.auth = auth;
}
- /**
- * Attach a plugin (or many) to your Octokit instance.
- *
- * @example
- * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
- */
- static plugin(...newPlugins) {
- var _a;
- const currentPlugins = this.plugins;
- const NewOctokit = (_a = class extends this {
- },
- _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),
- _a);
- return NewOctokit;
+ const classConstructor = this.constructor;
+ for (let i = 0; i < classConstructor.plugins.length; ++i) {
+ Object.assign(this, classConstructor.plugins[i](this, options));
}
+ }
}
-Octokit.VERSION = VERSION;
-Octokit.plugins = [];
+export {
+ Octokit
+};
diff --git a/node_modules/@octokit/core/dist-src/types.js b/node_modules/@octokit/core/dist-src/types.js
deleted file mode 100644
index cb0ff5c3..00000000
--- a/node_modules/@octokit/core/dist-src/types.js
+++ /dev/null
@@ -1 +0,0 @@
-export {};
diff --git a/node_modules/@octokit/core/dist-src/version.js b/node_modules/@octokit/core/dist-src/version.js
index bace1a91..57c666ee 100644
--- a/node_modules/@octokit/core/dist-src/version.js
+++ b/node_modules/@octokit/core/dist-src/version.js
@@ -1 +1,4 @@
-export const VERSION = "3.6.0";
+const VERSION = "5.0.2";
+export {
+ VERSION
+};
diff --git a/node_modules/@octokit/core/dist-types/index.d.ts b/node_modules/@octokit/core/dist-types/index.d.ts
index b757c5bc..fa5e88ff 100644
--- a/node_modules/@octokit/core/dist-types/index.d.ts
+++ b/node_modules/@octokit/core/dist-types/index.d.ts
@@ -1,7 +1,7 @@
-import { HookCollection } from "before-after-hook";
+import type { HookCollection } from "before-after-hook";
import { request } from "@octokit/request";
import { graphql } from "@octokit/graphql";
-import { Constructor, Hooks, OctokitOptions, OctokitPlugin, ReturnTypeOf, UnionToIntersection } from "./types";
+import type { Constructor, Hooks, OctokitOptions, OctokitPlugin, ReturnTypeOf, UnionToIntersection } from "./types";
export declare class Octokit {
static VERSION: string;
static defaults>(this: S, defaults: OctokitOptions | Function): S;
diff --git a/node_modules/@octokit/core/dist-types/types.d.ts b/node_modules/@octokit/core/dist-types/types.d.ts
index 3970d0de..d2b50b80 100644
--- a/node_modules/@octokit/core/dist-types/types.d.ts
+++ b/node_modules/@octokit/core/dist-types/types.d.ts
@@ -1,7 +1,7 @@
import * as OctokitTypes from "@octokit/types";
import { RequestError } from "@octokit/request-error";
import { Octokit } from ".";
-export declare type RequestParameters = OctokitTypes.RequestParameters;
+export type RequestParameters = OctokitTypes.RequestParameters;
export interface OctokitOptions {
authStrategy?: any;
auth?: any;
@@ -18,18 +18,18 @@ export interface OctokitOptions {
timeZone?: string;
[option: string]: any;
}
-export declare type Constructor = new (...args: any[]) => T;
-export declare type ReturnTypeOf = T extends AnyFunction ? ReturnType : T extends AnyFunction[] ? UnionToIntersection, void>> : never;
+export type Constructor = new (...args: any[]) => T;
+export type ReturnTypeOf = T extends AnyFunction ? ReturnType : T extends AnyFunction[] ? UnionToIntersection, void>> : never;
/**
* @author https://stackoverflow.com/users/2887218/jcalz
* @see https://stackoverflow.com/a/50375286/10325032
*/
-export declare type UnionToIntersection = (Union extends any ? (argument: Union) => void : never) extends (argument: infer Intersection) => void ? Intersection : never;
-declare type AnyFunction = (...args: any) => any;
-export declare type OctokitPlugin = (octokit: Octokit, options: OctokitOptions) => {
+export type UnionToIntersection = (Union extends any ? (argument: Union) => void : never) extends (argument: infer Intersection) => void ? Intersection : never;
+type AnyFunction = (...args: any) => any;
+export type OctokitPlugin = (octokit: Octokit, options: OctokitOptions) => {
[key: string]: any;
} | void;
-export declare type Hooks = {
+export type Hooks = {
request: {
Options: Required;
Result: OctokitTypes.OctokitResponse;
diff --git a/node_modules/@octokit/core/dist-types/version.d.ts b/node_modules/@octokit/core/dist-types/version.d.ts
index f1a3d022..978bf662 100644
--- a/node_modules/@octokit/core/dist-types/version.d.ts
+++ b/node_modules/@octokit/core/dist-types/version.d.ts
@@ -1 +1 @@
-export declare const VERSION = "3.6.0";
+export declare const VERSION = "5.0.2";
diff --git a/node_modules/@octokit/core/dist-web/index.js b/node_modules/@octokit/core/dist-web/index.js
index 741d2317..8286f004 100644
--- a/node_modules/@octokit/core/dist-web/index.js
+++ b/node_modules/@octokit/core/dist-web/index.js
@@ -1,130 +1,138 @@
-import { getUserAgent } from 'universal-user-agent';
-import { Collection } from 'before-after-hook';
-import { request } from '@octokit/request';
-import { withCustomRequest } from '@octokit/graphql';
-import { createTokenAuth } from '@octokit/auth-token';
+// pkg/dist-src/index.js
+import { getUserAgent } from "universal-user-agent";
+import { Collection } from "before-after-hook";
+import { request } from "@octokit/request";
+import { graphql, withCustomRequest } from "@octokit/graphql";
+import { createTokenAuth } from "@octokit/auth-token";
-const VERSION = "3.6.0";
+// pkg/dist-src/version.js
+var VERSION = "5.0.2";
-class Octokit {
- constructor(options = {}) {
- const hook = new Collection();
- const requestDefaults = {
- baseUrl: request.endpoint.DEFAULTS.baseUrl,
- headers: {},
- request: Object.assign({}, options.request, {
- // @ts-ignore internal usage only, no need to type
- hook: hook.bind(null, "request"),
- }),
- mediaType: {
- previews: [],
- format: "",
- },
- };
- // prepend default user agent with `options.userAgent` if set
- requestDefaults.headers["user-agent"] = [
- options.userAgent,
- `octokit-core.js/${VERSION} ${getUserAgent()}`,
- ]
- .filter(Boolean)
- .join(" ");
- if (options.baseUrl) {
- requestDefaults.baseUrl = options.baseUrl;
+// pkg/dist-src/index.js
+var noop = () => {
+};
+var consoleWarn = console.warn.bind(console);
+var consoleError = console.error.bind(console);
+var userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`;
+var Octokit = class {
+ static {
+ this.VERSION = VERSION;
+ }
+ static defaults(defaults) {
+ const OctokitWithDefaults = class extends this {
+ constructor(...args) {
+ const options = args[0] || {};
+ if (typeof defaults === "function") {
+ super(defaults(options));
+ return;
}
- if (options.previews) {
- requestDefaults.mediaType.previews = options.previews;
- }
- if (options.timeZone) {
- requestDefaults.headers["time-zone"] = options.timeZone;
- }
- this.request = request.defaults(requestDefaults);
- this.graphql = withCustomRequest(this.request).defaults(requestDefaults);
- this.log = Object.assign({
- debug: () => { },
- info: () => { },
- warn: console.warn.bind(console),
- error: console.error.bind(console),
- }, options.log);
- this.hook = hook;
- // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance
- // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.
- // (2) If only `options.auth` is set, use the default token authentication strategy.
- // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.
- // TODO: type `options.auth` based on `options.authStrategy`.
- if (!options.authStrategy) {
- if (!options.auth) {
- // (1)
- this.auth = async () => ({
- type: "unauthenticated",
- });
- }
- else {
- // (2)
- const auth = createTokenAuth(options.auth);
- // @ts-ignore ¯\_(ツ)_/¯
- hook.wrap("request", auth.hook);
- this.auth = auth;
- }
- }
- else {
- const { authStrategy, ...otherOptions } = options;
- const auth = authStrategy(Object.assign({
- request: this.request,
- log: this.log,
- // we pass the current octokit instance as well as its constructor options
- // to allow for authentication strategies that return a new octokit instance
- // that shares the same internal state as the current one. The original
- // requirement for this was the "event-octokit" authentication strategy
- // of https://github.com/probot/octokit-auth-probot.
- octokit: this,
- octokitOptions: otherOptions,
- }, options.auth));
- // @ts-ignore ¯\_(ツ)_/¯
- hook.wrap("request", auth.hook);
- this.auth = auth;
- }
- // apply plugins
- // https://stackoverflow.com/a/16345172
- const classConstructor = this.constructor;
- classConstructor.plugins.forEach((plugin) => {
- Object.assign(this, plugin(this, options));
- });
+ super(
+ Object.assign(
+ {},
+ defaults,
+ options,
+ options.userAgent && defaults.userAgent ? {
+ userAgent: `${options.userAgent} ${defaults.userAgent}`
+ } : null
+ )
+ );
+ }
+ };
+ return OctokitWithDefaults;
+ }
+ static {
+ this.plugins = [];
+ }
+ /**
+ * Attach a plugin (or many) to your Octokit instance.
+ *
+ * @example
+ * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
+ */
+ static plugin(...newPlugins) {
+ const currentPlugins = this.plugins;
+ const NewOctokit = class extends this {
+ static {
+ this.plugins = currentPlugins.concat(
+ newPlugins.filter((plugin) => !currentPlugins.includes(plugin))
+ );
+ }
+ };
+ return NewOctokit;
+ }
+ constructor(options = {}) {
+ const hook = new Collection();
+ const requestDefaults = {
+ baseUrl: request.endpoint.DEFAULTS.baseUrl,
+ headers: {},
+ request: Object.assign({}, options.request, {
+ // @ts-ignore internal usage only, no need to type
+ hook: hook.bind(null, "request")
+ }),
+ mediaType: {
+ previews: [],
+ format: ""
+ }
+ };
+ requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
+ if (options.baseUrl) {
+ requestDefaults.baseUrl = options.baseUrl;
}
- static defaults(defaults) {
- const OctokitWithDefaults = class extends this {
- constructor(...args) {
- const options = args[0] || {};
- if (typeof defaults === "function") {
- super(defaults(options));
- return;
- }
- super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent
- ? {
- userAgent: `${options.userAgent} ${defaults.userAgent}`,
- }
- : null));
- }
- };
- return OctokitWithDefaults;
+ if (options.previews) {
+ requestDefaults.mediaType.previews = options.previews;
}
- /**
- * Attach a plugin (or many) to your Octokit instance.
- *
- * @example
- * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
- */
- static plugin(...newPlugins) {
- var _a;
- const currentPlugins = this.plugins;
- const NewOctokit = (_a = class extends this {
- },
- _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),
- _a);
- return NewOctokit;
+ if (options.timeZone) {
+ requestDefaults.headers["time-zone"] = options.timeZone;
}
-}
-Octokit.VERSION = VERSION;
-Octokit.plugins = [];
-
-export { Octokit };
-//# sourceMappingURL=index.js.map
+ this.request = request.defaults(requestDefaults);
+ this.graphql = withCustomRequest(this.request).defaults(requestDefaults);
+ this.log = Object.assign(
+ {
+ debug: noop,
+ info: noop,
+ warn: consoleWarn,
+ error: consoleError
+ },
+ options.log
+ );
+ this.hook = hook;
+ if (!options.authStrategy) {
+ if (!options.auth) {
+ this.auth = async () => ({
+ type: "unauthenticated"
+ });
+ } else {
+ const auth = createTokenAuth(options.auth);
+ hook.wrap("request", auth.hook);
+ this.auth = auth;
+ }
+ } else {
+ const { authStrategy, ...otherOptions } = options;
+ const auth = authStrategy(
+ Object.assign(
+ {
+ request: this.request,
+ log: this.log,
+ // we pass the current octokit instance as well as its constructor options
+ // to allow for authentication strategies that return a new octokit instance
+ // that shares the same internal state as the current one. The original
+ // requirement for this was the "event-octokit" authentication strategy
+ // of https://github.com/probot/octokit-auth-probot.
+ octokit: this,
+ octokitOptions: otherOptions
+ },
+ options.auth
+ )
+ );
+ hook.wrap("request", auth.hook);
+ this.auth = auth;
+ }
+ const classConstructor = this.constructor;
+ for (let i = 0; i < classConstructor.plugins.length; ++i) {
+ Object.assign(this, classConstructor.plugins[i](this, options));
+ }
+ }
+};
+export {
+ Octokit
+};
diff --git a/node_modules/@octokit/core/dist-web/index.js.map b/node_modules/@octokit/core/dist-web/index.js.map
index 238c82e7..2ba22a0e 100644
--- a/node_modules/@octokit/core/dist-web/index.js.map
+++ b/node_modules/@octokit/core/dist-web/index.js.map
@@ -1 +1,7 @@
-{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"3.6.0\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nexport class Octokit {\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\"),\n }),\n mediaType: {\n previews: [],\n format: \"\",\n },\n };\n // prepend default user agent with `options.userAgent` if set\n requestDefaults.headers[\"user-agent\"] = [\n options.userAgent,\n `octokit-core.js/${VERSION} ${getUserAgent()}`,\n ]\n .filter(Boolean)\n .join(\" \");\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign({\n debug: () => { },\n info: () => { },\n warn: console.warn.bind(console),\n error: console.error.bind(console),\n }, options.log);\n this.hook = hook;\n // (1) If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance\n // is unauthenticated. The `this.auth()` method is a no-op and no request hook is registered.\n // (2) If only `options.auth` is set, use the default token authentication strategy.\n // (3) If `options.authStrategy` is set then use it and pass in `options.auth`. Always pass own request as many strategies accept a custom request instance.\n // TODO: type `options.auth` based on `options.authStrategy`.\n if (!options.authStrategy) {\n if (!options.auth) {\n // (1)\n this.auth = async () => ({\n type: \"unauthenticated\",\n });\n }\n else {\n // (2)\n const auth = createTokenAuth(options.auth);\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n }\n else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(Object.assign({\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions,\n }, options.auth));\n // @ts-ignore ¯\\_(ツ)_/¯\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n // apply plugins\n // https://stackoverflow.com/a/16345172\n const classConstructor = this.constructor;\n classConstructor.plugins.forEach((plugin) => {\n Object.assign(this, plugin(this, options));\n });\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(Object.assign({}, defaults, options, options.userAgent && defaults.userAgent\n ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`,\n }\n : null));\n }\n };\n return OctokitWithDefaults;\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n var _a;\n const currentPlugins = this.plugins;\n const NewOctokit = (_a = class extends this {\n },\n _a.plugins = currentPlugins.concat(newPlugins.filter((plugin) => !currentPlugins.includes(plugin))),\n _a);\n return NewOctokit;\n }\n}\nOctokit.VERSION = VERSION;\nOctokit.plugins = [];\n"],"names":[],"mappings":";;;;;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACMnC,MAAM,OAAO,CAAC;AACrB,IAAI,WAAW,CAAC,OAAO,GAAG,EAAE,EAAE;AAC9B,QAAQ,MAAM,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;AACtC,QAAQ,MAAM,eAAe,GAAG;AAChC,YAAY,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO;AACtD,YAAY,OAAO,EAAE,EAAE;AACvB,YAAY,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,EAAE;AACxD;AACA,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;AAChD,aAAa,CAAC;AACd,YAAY,SAAS,EAAE;AACvB,gBAAgB,QAAQ,EAAE,EAAE;AAC5B,gBAAgB,MAAM,EAAE,EAAE;AAC1B,aAAa;AACb,SAAS,CAAC;AACV;AACA,QAAQ,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG;AAChD,YAAY,OAAO,CAAC,SAAS;AAC7B,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AAC1D,SAAS;AACT,aAAa,MAAM,CAAC,OAAO,CAAC;AAC5B,aAAa,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE;AAC7B,YAAY,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACtD,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC9B,YAAY,eAAe,CAAC,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAClE,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC9B,YAAY,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;AACpE,SAAS;AACT,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACzD,QAAQ,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACjF,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;AACjC,YAAY,KAAK,EAAE,MAAM,GAAG;AAC5B,YAAY,IAAI,EAAE,MAAM,GAAG;AAC3B,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5C,YAAY,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;AAC9C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACxB,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AACnC,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AAC/B;AACA,gBAAgB,IAAI,CAAC,IAAI,GAAG,aAAa;AACzC,oBAAoB,IAAI,EAAE,iBAAiB;AAC3C,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB;AACjB;AACA,gBAAgB,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3D;AACA,gBAAgB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,gBAAgB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjC,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;AAC9D,YAAY,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;AACpD,gBAAgB,OAAO,EAAE,IAAI,CAAC,OAAO;AACrC,gBAAgB,GAAG,EAAE,IAAI,CAAC,GAAG;AAC7B;AACA;AACA;AACA;AACA;AACA,gBAAgB,OAAO,EAAE,IAAI;AAC7B,gBAAgB,cAAc,EAAE,YAAY;AAC5C,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9B;AACA,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,YAAY,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AAC7B,SAAS;AACT;AACA;AACA,QAAQ,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;AAClD,QAAQ,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK;AACrD,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACvD,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,QAAQ,CAAC,QAAQ,EAAE;AAC9B,QAAQ,MAAM,mBAAmB,GAAG,cAAc,IAAI,CAAC;AACvD,YAAY,WAAW,CAAC,GAAG,IAAI,EAAE;AACjC,gBAAgB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9C,gBAAgB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AACpD,oBAAoB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,oBAAoB,OAAO;AAC3B,iBAAiB;AACjB,gBAAgB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;AAClG,sBAAsB;AACtB,wBAAwB,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/E,qBAAqB;AACrB,sBAAsB,IAAI,CAAC,CAAC,CAAC;AAC7B,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,OAAO,mBAAmB,CAAC;AACnC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,MAAM,CAAC,GAAG,UAAU,EAAE;AACjC,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;AAC5C,QAAQ,MAAM,UAAU,IAAI,EAAE,GAAG,cAAc,IAAI,CAAC;AACpD,aAAa;AACb,YAAY,EAAE,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/G,YAAY,EAAE,CAAC,CAAC;AAChB,QAAQ,OAAO,UAAU,CAAC;AAC1B,KAAK;AACL,CAAC;AACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;;;;"}
\ No newline at end of file
+{
+ "version": 3,
+ "sources": ["../dist-src/index.js", "../dist-src/version.js"],
+ "sourcesContent": ["import { getUserAgent } from \"universal-user-agent\";\nimport { Collection } from \"before-after-hook\";\nimport { request } from \"@octokit/request\";\nimport { graphql, withCustomRequest } from \"@octokit/graphql\";\nimport { createTokenAuth } from \"@octokit/auth-token\";\nimport { VERSION } from \"./version\";\nconst noop = () => {\n};\nconst consoleWarn = console.warn.bind(console);\nconst consoleError = console.error.bind(console);\nconst userAgentTrail = `octokit-core.js/${VERSION} ${getUserAgent()}`;\nclass Octokit {\n static {\n this.VERSION = VERSION;\n }\n static defaults(defaults) {\n const OctokitWithDefaults = class extends this {\n constructor(...args) {\n const options = args[0] || {};\n if (typeof defaults === \"function\") {\n super(defaults(options));\n return;\n }\n super(\n Object.assign(\n {},\n defaults,\n options,\n options.userAgent && defaults.userAgent ? {\n userAgent: `${options.userAgent} ${defaults.userAgent}`\n } : null\n )\n );\n }\n };\n return OctokitWithDefaults;\n }\n static {\n this.plugins = [];\n }\n /**\n * Attach a plugin (or many) to your Octokit instance.\n *\n * @example\n * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)\n */\n static plugin(...newPlugins) {\n const currentPlugins = this.plugins;\n const NewOctokit = class extends this {\n static {\n this.plugins = currentPlugins.concat(\n newPlugins.filter((plugin) => !currentPlugins.includes(plugin))\n );\n }\n };\n return NewOctokit;\n }\n constructor(options = {}) {\n const hook = new Collection();\n const requestDefaults = {\n baseUrl: request.endpoint.DEFAULTS.baseUrl,\n headers: {},\n request: Object.assign({}, options.request, {\n // @ts-ignore internal usage only, no need to type\n hook: hook.bind(null, \"request\")\n }),\n mediaType: {\n previews: [],\n format: \"\"\n }\n };\n requestDefaults.headers[\"user-agent\"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;\n if (options.baseUrl) {\n requestDefaults.baseUrl = options.baseUrl;\n }\n if (options.previews) {\n requestDefaults.mediaType.previews = options.previews;\n }\n if (options.timeZone) {\n requestDefaults.headers[\"time-zone\"] = options.timeZone;\n }\n this.request = request.defaults(requestDefaults);\n this.graphql = withCustomRequest(this.request).defaults(requestDefaults);\n this.log = Object.assign(\n {\n debug: noop,\n info: noop,\n warn: consoleWarn,\n error: consoleError\n },\n options.log\n );\n this.hook = hook;\n if (!options.authStrategy) {\n if (!options.auth) {\n this.auth = async () => ({\n type: \"unauthenticated\"\n });\n } else {\n const auth = createTokenAuth(options.auth);\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n } else {\n const { authStrategy, ...otherOptions } = options;\n const auth = authStrategy(\n Object.assign(\n {\n request: this.request,\n log: this.log,\n // we pass the current octokit instance as well as its constructor options\n // to allow for authentication strategies that return a new octokit instance\n // that shares the same internal state as the current one. The original\n // requirement for this was the \"event-octokit\" authentication strategy\n // of https://github.com/probot/octokit-auth-probot.\n octokit: this,\n octokitOptions: otherOptions\n },\n options.auth\n )\n );\n hook.wrap(\"request\", auth.hook);\n this.auth = auth;\n }\n const classConstructor = this.constructor;\n for (let i = 0; i < classConstructor.plugins.length; ++i) {\n Object.assign(this, classConstructor.plugins[i](this, options));\n }\n }\n}\nexport {\n Octokit\n};\n", "const VERSION = \"5.0.2\";\nexport {\n VERSION\n};\n"],
+ "mappings": ";AAAA,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AACxB,SAAS,SAAS,yBAAyB;AAC3C,SAAS,uBAAuB;;;ACJhC,IAAM,UAAU;;;ADMhB,IAAM,OAAO,MAAM;AACnB;AACA,IAAM,cAAc,QAAQ,KAAK,KAAK,OAAO;AAC7C,IAAM,eAAe,QAAQ,MAAM,KAAK,OAAO;AAC/C,IAAM,iBAAiB,mBAAmB,OAAO,IAAI,aAAa,CAAC;AACnE,IAAM,UAAN,MAAc;AAAA,EACZ,OAAO;AACL,SAAK,UAAU;AAAA,EACjB;AAAA,EACA,OAAO,SAAS,UAAU;AACxB,UAAM,sBAAsB,cAAc,KAAK;AAAA,MAC7C,eAAe,MAAM;AACnB,cAAM,UAAU,KAAK,CAAC,KAAK,CAAC;AAC5B,YAAI,OAAO,aAAa,YAAY;AAClC,gBAAM,SAAS,OAAO,CAAC;AACvB;AAAA,QACF;AACA;AAAA,UACE,OAAO;AAAA,YACL,CAAC;AAAA,YACD;AAAA,YACA;AAAA,YACA,QAAQ,aAAa,SAAS,YAAY;AAAA,cACxC,WAAW,GAAG,QAAQ,SAAS,IAAI,SAAS,SAAS;AAAA,YACvD,IAAI;AAAA,UACN;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,OAAO;AACL,SAAK,UAAU,CAAC;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,UAAU,YAAY;AAC3B,UAAM,iBAAiB,KAAK;AAC5B,UAAM,aAAa,cAAc,KAAK;AAAA,MACpC,OAAO;AACL,aAAK,UAAU,eAAe;AAAA,UAC5B,WAAW,OAAO,CAAC,WAAW,CAAC,eAAe,SAAS,MAAM,CAAC;AAAA,QAChE;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,UAAU,CAAC,GAAG;AACxB,UAAM,OAAO,IAAI,WAAW;AAC5B,UAAM,kBAAkB;AAAA,MACtB,SAAS,QAAQ,SAAS,SAAS;AAAA,MACnC,SAAS,CAAC;AAAA,MACV,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ,SAAS;AAAA;AAAA,QAE1C,MAAM,KAAK,KAAK,MAAM,SAAS;AAAA,MACjC,CAAC;AAAA,MACD,WAAW;AAAA,QACT,UAAU,CAAC;AAAA,QACX,QAAQ;AAAA,MACV;AAAA,IACF;AACA,oBAAgB,QAAQ,YAAY,IAAI,QAAQ,YAAY,GAAG,QAAQ,SAAS,IAAI,cAAc,KAAK;AACvG,QAAI,QAAQ,SAAS;AACnB,sBAAgB,UAAU,QAAQ;AAAA,IACpC;AACA,QAAI,QAAQ,UAAU;AACpB,sBAAgB,UAAU,WAAW,QAAQ;AAAA,IAC/C;AACA,QAAI,QAAQ,UAAU;AACpB,sBAAgB,QAAQ,WAAW,IAAI,QAAQ;AAAA,IACjD;AACA,SAAK,UAAU,QAAQ,SAAS,eAAe;AAC/C,SAAK,UAAU,kBAAkB,KAAK,OAAO,EAAE,SAAS,eAAe;AACvE,SAAK,MAAM,OAAO;AAAA,MAChB;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,MACT;AAAA,MACA,QAAQ;AAAA,IACV;AACA,SAAK,OAAO;AACZ,QAAI,CAAC,QAAQ,cAAc;AACzB,UAAI,CAAC,QAAQ,MAAM;AACjB,aAAK,OAAO,aAAa;AAAA,UACvB,MAAM;AAAA,QACR;AAAA,MACF,OAAO;AACL,cAAM,OAAO,gBAAgB,QAAQ,IAAI;AACzC,aAAK,KAAK,WAAW,KAAK,IAAI;AAC9B,aAAK,OAAO;AAAA,MACd;AAAA,IACF,OAAO;AACL,YAAM,EAAE,cAAc,GAAG,aAAa,IAAI;AAC1C,YAAM,OAAO;AAAA,QACX,OAAO;AAAA,UACL;AAAA,YACE,SAAS,KAAK;AAAA,YACd,KAAK,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAMV,SAAS;AAAA,YACT,gBAAgB;AAAA,UAClB;AAAA,UACA,QAAQ;AAAA,QACV;AAAA,MACF;AACA,WAAK,KAAK,WAAW,KAAK,IAAI;AAC9B,WAAK,OAAO;AAAA,IACd;AACA,UAAM,mBAAmB,KAAK;AAC9B,aAAS,IAAI,GAAG,IAAI,iBAAiB,QAAQ,QAAQ,EAAE,GAAG;AACxD,aAAO,OAAO,MAAM,iBAAiB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;AAAA,IAChE;AAAA,EACF;AACF;",
+ "names": []
+}
diff --git a/node_modules/@octokit/core/package.json b/node_modules/@octokit/core/package.json
index 548e76c9..ffeacd16 100644
--- a/node_modules/@octokit/core/package.json
+++ b/node_modules/@octokit/core/package.json
@@ -1,14 +1,11 @@
{
"name": "@octokit/core",
+ "version": "5.0.2",
+ "publishConfig": {
+ "access": "public"
+ },
"description": "Extendable client for GitHub's REST & GraphQL APIs",
- "version": "3.6.0",
- "license": "MIT",
- "files": [
- "dist-*/",
- "bin/"
- ],
- "pika": true,
- "sideEffects": false,
+ "repository": "github:octokit/core.js",
"keywords": [
"octokit",
"github",
@@ -16,42 +13,51 @@
"sdk",
"toolkit"
],
- "repository": "github:octokit/core.js",
+ "author": "Gregor Martynus (https://github.com/gr2m)",
+ "license": "MIT",
"dependencies": {
- "@octokit/auth-token": "^2.4.4",
- "@octokit/graphql": "^4.5.8",
- "@octokit/request": "^5.6.3",
- "@octokit/request-error": "^2.0.5",
- "@octokit/types": "^6.0.3",
+ "@octokit/auth-token": "^4.0.0",
+ "@octokit/graphql": "^7.0.0",
+ "@octokit/request": "^8.0.2",
+ "@octokit/request-error": "^5.0.0",
+ "@octokit/types": "^12.0.0",
"before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0"
},
"devDependencies": {
- "@octokit/auth": "^3.0.1",
- "@pika/pack": "^0.5.0",
- "@pika/plugin-build-node": "^0.9.0",
- "@pika/plugin-build-web": "^0.9.0",
- "@pika/plugin-ts-standard-pkg": "^0.9.0",
+ "@octokit/auth-action": "^4.0.0",
+ "@octokit/auth-app": "^6.0.0",
+ "@octokit/auth-oauth-app": "^7.0.0",
+ "@octokit/tsconfig": "^2.0.0",
+ "@sinonjs/fake-timers": "^11.2.2",
"@types/fetch-mock": "^7.3.1",
- "@types/jest": "^27.0.0",
+ "@types/jest": "^29.0.0",
"@types/lolex": "^5.1.0",
- "@types/node": "^14.0.4",
- "fetch-mock": "^9.0.0",
- "http-proxy-agent": "^5.0.0",
- "jest": "^27.0.0",
- "lolex": "^6.0.0",
- "prettier": "2.4.1",
- "proxy": "^1.0.1",
- "semantic-release": "^18.0.0",
+ "@types/node": "^20.0.0",
+ "@types/sinonjs__fake-timers": "^8.1.5",
+ "esbuild": "^0.19.0",
+ "fetch-mock": "npm:@gr2m/fetch-mock@9.11.0-pull-request-644.1",
+ "glob": "^10.2.5",
+ "http-proxy-agent": "^7.0.0",
+ "jest": "^29.0.0",
+ "prettier": "3.1.0",
+ "proxy": "^2.0.0",
+ "semantic-release": "^22.0.0",
"semantic-release-plugin-update-version-in-files": "^1.0.0",
- "ts-jest": "^27.0.0",
- "typescript": "^4.0.2"
+ "ts-jest": "^29.0.0",
+ "typescript": "^5.0.0",
+ "undici": "^5.25.4"
},
- "publishConfig": {
- "access": "public"
+ "engines": {
+ "node": ">= 18"
},
- "source": "dist-src/index.js",
- "types": "dist-types/index.d.ts",
+ "files": [
+ "dist-*/**",
+ "bin/**"
+ ],
"main": "dist-node/index.js",
- "module": "dist-web/index.js"
+ "module": "dist-web/index.js",
+ "types": "dist-types/index.d.ts",
+ "source": "dist-src/index.js",
+ "sideEffects": false
}
diff --git a/node_modules/@octokit/endpoint/README.md b/node_modules/@octokit/endpoint/README.md
index 1e5153fa..07acbd10 100644
--- a/node_modules/@octokit/endpoint/README.md
+++ b/node_modules/@octokit/endpoint/README.md
@@ -3,7 +3,7 @@
> Turns GitHub REST API endpoints into generic request options
[![@latest](https://img.shields.io/npm/v/@octokit/endpoint.svg)](https://www.npmjs.com/package/@octokit/endpoint)
-![Build Status](https://github.com/octokit/endpoint.js/workflows/Test/badge.svg)
+[![Build Status](https://github.com/octokit/endpoint.js/workflows/Test/badge.svg)](https://github.com/octokit/endpoint.js/actions/workflows/test.yml?query=branch%3Amain)
`@octokit/endpoint` combines [GitHub REST API routes](https://developer.github.com/v3/) with your parameters and turns them into generic request options that can be used in any request library.
@@ -32,11 +32,11 @@
Browsers
|
-Load @octokit/endpoint directly from cdn.skypack.dev
-
+Load @octokit/endpoint directly from esm.sh
+
```html
```
@@ -184,17 +184,6 @@ axios(requestOptions);
Media type param, such as raw , diff , or text+json . See Media Types. Setting options.mediaType.format will amend the headers.accept value.
|
-
-
- options.mediaType.previews
- |
-
- Array of Strings
- |
-
- Name of previews, such as mercy , symmetra , or scarlet-witch . See API Previews. If options.mediaType.previews was set as default, the new previews will be merged into the default ones. Setting options.mediaType.previews will amend the headers.accept value. options.mediaType.previews will be merged with an existing array set using .defaults() .
- |
-
options.data
@@ -412,7 +401,7 @@ endpoint(
authorization: `token 0000000000000000000000000000000000000001`,
},
data: "Hello, world!",
- }
+ },
);
```
diff --git a/node_modules/@octokit/endpoint/dist-node/index.js b/node_modules/@octokit/endpoint/dist-node/index.js
index 70f24ff7..0c197b6a 100644
--- a/node_modules/@octokit/endpoint/dist-node/index.js
+++ b/node_modules/@octokit/endpoint/dist-node/index.js
@@ -1,197 +1,210 @@
-'use strict';
+"use strict";
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+// pkg/dist-src/index.js
+var dist_src_exports = {};
+__export(dist_src_exports, {
+ endpoint: () => endpoint
+});
+module.exports = __toCommonJS(dist_src_exports);
-Object.defineProperty(exports, '__esModule', { value: true });
+// pkg/dist-src/defaults.js
+var import_universal_user_agent = require("universal-user-agent");
-var isPlainObject = require('is-plain-object');
-var universalUserAgent = require('universal-user-agent');
+// pkg/dist-src/version.js
+var VERSION = "9.0.4";
+// pkg/dist-src/defaults.js
+var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`;
+var DEFAULTS = {
+ method: "GET",
+ baseUrl: "https://api.github.com",
+ headers: {
+ accept: "application/vnd.github.v3+json",
+ "user-agent": userAgent
+ },
+ mediaType: {
+ format: ""
+ }
+};
+
+// pkg/dist-src/util/lowercase-keys.js
function lowercaseKeys(object) {
if (!object) {
return {};
}
-
return Object.keys(object).reduce((newObj, key) => {
newObj[key.toLowerCase()] = object[key];
return newObj;
}, {});
}
+// pkg/dist-src/util/is-plain-object.js
+function isPlainObject(value) {
+ if (typeof value !== "object" || value === null)
+ return false;
+ if (Object.prototype.toString.call(value) !== "[object Object]")
+ return false;
+ const proto = Object.getPrototypeOf(value);
+ if (proto === null)
+ return true;
+ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
+ return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
+}
+
+// pkg/dist-src/util/merge-deep.js
function mergeDeep(defaults, options) {
const result = Object.assign({}, defaults);
- Object.keys(options).forEach(key => {
- if (isPlainObject.isPlainObject(options[key])) {
- if (!(key in defaults)) Object.assign(result, {
- [key]: options[key]
- });else result[key] = mergeDeep(defaults[key], options[key]);
+ Object.keys(options).forEach((key) => {
+ if (isPlainObject(options[key])) {
+ if (!(key in defaults))
+ Object.assign(result, { [key]: options[key] });
+ else
+ result[key] = mergeDeep(defaults[key], options[key]);
} else {
- Object.assign(result, {
- [key]: options[key]
- });
+ Object.assign(result, { [key]: options[key] });
}
});
return result;
}
+// pkg/dist-src/util/remove-undefined-properties.js
function removeUndefinedProperties(obj) {
for (const key in obj) {
- if (obj[key] === undefined) {
+ if (obj[key] === void 0) {
delete obj[key];
}
}
-
return obj;
}
+// pkg/dist-src/merge.js
function merge(defaults, route, options) {
if (typeof route === "string") {
let [method, url] = route.split(" ");
- options = Object.assign(url ? {
- method,
- url
- } : {
- url: method
- }, options);
+ options = Object.assign(url ? { method, url } : { url: method }, options);
} else {
options = Object.assign({}, route);
- } // lowercase header names before merging with defaults to avoid duplicates
-
-
- options.headers = lowercaseKeys(options.headers); // remove properties with undefined values before merging
-
+ }
+ options.headers = lowercaseKeys(options.headers);
removeUndefinedProperties(options);
removeUndefinedProperties(options.headers);
- const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten
-
- if (defaults && defaults.mediaType.previews.length) {
- mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews);
+ const mergedOptions = mergeDeep(defaults || {}, options);
+ if (options.url === "/graphql") {
+ if (defaults && defaults.mediaType.previews?.length) {
+ mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(
+ (preview) => !mergedOptions.mediaType.previews.includes(preview)
+ ).concat(mergedOptions.mediaType.previews);
+ }
+ mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
}
-
- mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, ""));
return mergedOptions;
}
+// pkg/dist-src/util/add-query-parameters.js
function addQueryParameters(url, parameters) {
const separator = /\?/.test(url) ? "&" : "?";
const names = Object.keys(parameters);
-
if (names.length === 0) {
return url;
}
-
- return url + separator + names.map(name => {
+ return url + separator + names.map((name) => {
if (name === "q") {
return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
}
-
return `${name}=${encodeURIComponent(parameters[name])}`;
}).join("&");
}
-const urlVariableRegex = /\{[^}]+\}/g;
-
+// pkg/dist-src/util/extract-url-variable-names.js
+var urlVariableRegex = /\{[^}]+\}/g;
function removeNonChars(variableName) {
return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
}
-
function extractUrlVariableNames(url) {
const matches = url.match(urlVariableRegex);
-
if (!matches) {
return [];
}
-
return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
}
+// pkg/dist-src/util/omit.js
function omit(object, keysToOmit) {
- return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => {
- obj[key] = object[key];
- return obj;
- }, {});
+ const result = { __proto__: null };
+ for (const key of Object.keys(object)) {
+ if (keysToOmit.indexOf(key) === -1) {
+ result[key] = object[key];
+ }
+ }
+ return result;
}
-// Based on https://github.com/bramstein/url-template, licensed under BSD
-// TODO: create separate package.
-//
-// Copyright (c) 2012-2014, Bram Stein
-// All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-// 3. The name of the author may not be used to endorse or promote products
-// derived from this software without specific prior written permission.
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
-// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/* istanbul ignore file */
+// pkg/dist-src/util/url-template.js
function encodeReserved(str) {
- return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) {
+ return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
if (!/%[0-9A-Fa-f]/.test(part)) {
part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
}
-
return part;
}).join("");
}
-
function encodeUnreserved(str) {
- return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {
+ return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
return "%" + c.charCodeAt(0).toString(16).toUpperCase();
});
}
-
function encodeValue(operator, value, key) {
value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
-
if (key) {
return encodeUnreserved(key) + "=" + value;
} else {
return value;
}
}
-
function isDefined(value) {
- return value !== undefined && value !== null;
+ return value !== void 0 && value !== null;
}
-
function isKeyOperator(operator) {
return operator === ";" || operator === "&" || operator === "?";
}
-
function getValues(context, operator, key, modifier) {
- var value = context[key],
- result = [];
-
+ var value = context[key], result = [];
if (isDefined(value) && value !== "") {
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
value = value.toString();
-
if (modifier && modifier !== "*") {
value = value.substring(0, parseInt(modifier, 10));
}
-
- result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : ""));
+ result.push(
+ encodeValue(operator, value, isKeyOperator(operator) ? key : "")
+ );
} else {
if (modifier === "*") {
if (Array.isArray(value)) {
- value.filter(isDefined).forEach(function (value) {
- result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : ""));
+ value.filter(isDefined).forEach(function(value2) {
+ result.push(
+ encodeValue(operator, value2, isKeyOperator(operator) ? key : "")
+ );
});
} else {
- Object.keys(value).forEach(function (k) {
+ Object.keys(value).forEach(function(k) {
if (isDefined(value[k])) {
result.push(encodeValue(operator, value[k], k));
}
@@ -199,20 +212,18 @@ function getValues(context, operator, key, modifier) {
}
} else {
const tmp = [];
-
if (Array.isArray(value)) {
- value.filter(isDefined).forEach(function (value) {
- tmp.push(encodeValue(operator, value));
+ value.filter(isDefined).forEach(function(value2) {
+ tmp.push(encodeValue(operator, value2));
});
} else {
- Object.keys(value).forEach(function (k) {
+ Object.keys(value).forEach(function(k) {
if (isDefined(value[k])) {
tmp.push(encodeUnreserved(k));
tmp.push(encodeValue(operator, value[k].toString()));
}
});
}
-
if (isKeyOperator(operator)) {
result.push(encodeUnreserved(key) + "=" + tmp.join(","));
} else if (tmp.length !== 0) {
@@ -231,89 +242,93 @@ function getValues(context, operator, key, modifier) {
result.push("");
}
}
-
return result;
}
-
function parseUrl(template) {
return {
expand: expand.bind(null, template)
};
}
-
function expand(template, context) {
var operators = ["+", "#", ".", "/", ";", "?", "&"];
- return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) {
- if (expression) {
- let operator = "";
- const values = [];
-
- if (operators.indexOf(expression.charAt(0)) !== -1) {
- operator = expression.charAt(0);
- expression = expression.substr(1);
- }
-
- expression.split(/,/g).forEach(function (variable) {
- var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
- values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
- });
-
- if (operator && operator !== "+") {
- var separator = ",";
-
- if (operator === "?") {
- separator = "&";
- } else if (operator !== "#") {
- separator = operator;
+ template = template.replace(
+ /\{([^\{\}]+)\}|([^\{\}]+)/g,
+ function(_, expression, literal) {
+ if (expression) {
+ let operator = "";
+ const values = [];
+ if (operators.indexOf(expression.charAt(0)) !== -1) {
+ operator = expression.charAt(0);
+ expression = expression.substr(1);
+ }
+ expression.split(/,/g).forEach(function(variable) {
+ var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
+ values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
+ });
+ if (operator && operator !== "+") {
+ var separator = ",";
+ if (operator === "?") {
+ separator = "&";
+ } else if (operator !== "#") {
+ separator = operator;
+ }
+ return (values.length !== 0 ? operator : "") + values.join(separator);
+ } else {
+ return values.join(",");
}
-
- return (values.length !== 0 ? operator : "") + values.join(separator);
} else {
- return values.join(",");
+ return encodeReserved(literal);
}
- } else {
- return encodeReserved(literal);
}
- });
+ );
+ if (template === "/") {
+ return template;
+ } else {
+ return template.replace(/\/$/, "");
+ }
}
+// pkg/dist-src/parse.js
function parse(options) {
- // https://fetch.spec.whatwg.org/#methods
- let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible
-
+ let method = options.method.toUpperCase();
let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
let headers = Object.assign({}, options.headers);
let body;
- let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later
-
+ let parameters = omit(options, [
+ "method",
+ "baseUrl",
+ "url",
+ "headers",
+ "request",
+ "mediaType"
+ ]);
const urlVariableNames = extractUrlVariableNames(url);
url = parseUrl(url).expand(parameters);
-
if (!/^http/.test(url)) {
url = options.baseUrl + url;
}
-
- const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl");
+ const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
const remainingParameters = omit(parameters, omittedParameters);
const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
-
if (!isBinaryRequest) {
if (options.mediaType.format) {
- // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw
- headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(",");
+ headers.accept = headers.accept.split(/,/).map(
+ (format) => format.replace(
+ /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
+ `application/vnd$1$2.${options.mediaType.format}`
+ )
+ ).join(",");
}
-
- if (options.mediaType.previews.length) {
- const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
- headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => {
- const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
- return `application/vnd.github.${preview}-preview${format}`;
- }).join(",");
+ if (url.endsWith("/graphql")) {
+ if (options.mediaType.previews?.length) {
+ const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
+ headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {
+ const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
+ return `application/vnd.github.${preview}-preview${format}`;
+ }).join(",");
+ }
}
- } // for GET/HEAD requests, set URL query parameters from remaining parameters
- // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters
-
-
+ }
if (["GET", "HEAD"].includes(method)) {
url = addQueryParameters(url, remainingParameters);
} else {
@@ -322,69 +337,42 @@ function parse(options) {
} else {
if (Object.keys(remainingParameters).length) {
body = remainingParameters;
- } else {
- headers["content-length"] = 0;
}
}
- } // default content-type for JSON if body is set
-
-
+ }
if (!headers["content-type"] && typeof body !== "undefined") {
headers["content-type"] = "application/json; charset=utf-8";
- } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.
- // fetch does not allow to set `content-length` header, but we can set body to an empty string
-
-
+ }
if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
body = "";
- } // Only return body/request keys if present
-
-
- return Object.assign({
- method,
- url,
- headers
- }, typeof body !== "undefined" ? {
- body
- } : null, options.request ? {
- request: options.request
- } : null);
+ }
+ return Object.assign(
+ { method, url, headers },
+ typeof body !== "undefined" ? { body } : null,
+ options.request ? { request: options.request } : null
+ );
}
+// pkg/dist-src/endpoint-with-defaults.js
function endpointWithDefaults(defaults, route, options) {
return parse(merge(defaults, route, options));
}
+// pkg/dist-src/with-defaults.js
function withDefaults(oldDefaults, newDefaults) {
- const DEFAULTS = merge(oldDefaults, newDefaults);
- const endpoint = endpointWithDefaults.bind(null, DEFAULTS);
- return Object.assign(endpoint, {
- DEFAULTS,
- defaults: withDefaults.bind(null, DEFAULTS),
- merge: merge.bind(null, DEFAULTS),
+ const DEFAULTS2 = merge(oldDefaults, newDefaults);
+ const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);
+ return Object.assign(endpoint2, {
+ DEFAULTS: DEFAULTS2,
+ defaults: withDefaults.bind(null, DEFAULTS2),
+ merge: merge.bind(null, DEFAULTS2),
parse
});
}
-const VERSION = "6.0.12";
-
-const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url.
-// So we use RequestParameters and add method as additional required property.
-
-const DEFAULTS = {
- method: "GET",
- baseUrl: "https://api.github.com",
- headers: {
- accept: "application/vnd.github.v3+json",
- "user-agent": userAgent
- },
- mediaType: {
- format: "",
- previews: []
- }
-};
-
-const endpoint = withDefaults(null, DEFAULTS);
-
-exports.endpoint = endpoint;
-//# sourceMappingURL=index.js.map
+// pkg/dist-src/index.js
+var endpoint = withDefaults(null, DEFAULTS);
+// Annotate the CommonJS export names for ESM import in node:
+0 && (module.exports = {
+ endpoint
+});
diff --git a/node_modules/@octokit/endpoint/dist-node/index.js.map b/node_modules/@octokit/endpoint/dist-node/index.js.map
index 003e4f27..60f2ed90 100644
--- a/node_modules/@octokit/endpoint/dist-node/index.js.map
+++ b/node_modules/@octokit/endpoint/dist-node/index.js.map
@@ -1 +1,7 @@
-{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.js","../dist-src/util/remove-undefined-properties.js","../dist-src/merge.js","../dist-src/util/add-query-parameters.js","../dist-src/util/extract-url-variable-names.js","../dist-src/util/omit.js","../dist-src/util/url-template.js","../dist-src/parse.js","../dist-src/endpoint-with-defaults.js","../dist-src/with-defaults.js","../dist-src/version.js","../dist-src/defaults.js","../dist-src/index.js"],"sourcesContent":["export function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n","import { isPlainObject } from \"is-plain-object\";\nexport function mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nexport function merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))\n .concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n","export function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return (url +\n separator +\n names\n .map((name) => {\n if (name === \"q\") {\n return (\"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter((option) => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template),\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\n}\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\",\n ]);\n // extract variable names from URL to calculate remaining variables later\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options)\n .filter((option) => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map((preview) => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map((preview) => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse,\n });\n}\n","export const VERSION = \"6.0.12\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent,\n },\n mediaType: {\n format: \"\",\n previews: [],\n },\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\n"],"names":["lowercaseKeys","object","Object","keys","reduce","newObj","key","toLowerCase","mergeDeep","defaults","options","result","assign","forEach","isPlainObject","removeUndefinedProperties","obj","undefined","merge","route","method","url","split","headers","mergedOptions","mediaType","previews","length","filter","preview","includes","concat","map","replace","addQueryParameters","parameters","separator","test","names","name","q","encodeURIComponent","join","urlVariableRegex","removeNonChars","variableName","extractUrlVariableNames","matches","match","a","b","omit","keysToOmit","option","encodeReserved","str","part","encodeURI","encodeUnreserved","c","charCodeAt","toString","toUpperCase","encodeValue","operator","value","isDefined","isKeyOperator","getValues","context","modifier","substring","parseInt","push","Array","isArray","k","tmp","parseUrl","template","expand","bind","operators","_","expression","literal","values","indexOf","charAt","substr","variable","exec","parse","body","urlVariableNames","baseUrl","omittedParameters","remainingParameters","isBinaryRequest","accept","format","previewsFromAcceptHeader","data","request","endpointWithDefaults","withDefaults","oldDefaults","newDefaults","DEFAULTS","endpoint","VERSION","userAgent","getUserAgent"],"mappings":";;;;;;;AAAO,SAASA,aAAT,CAAuBC,MAAvB,EAA+B;AAClC,MAAI,CAACA,MAAL,EAAa;AACT,WAAO,EAAP;AACH;;AACD,SAAOC,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBG,MAApB,CAA2B,CAACC,MAAD,EAASC,GAAT,KAAiB;AAC/CD,IAAAA,MAAM,CAACC,GAAG,CAACC,WAAJ,EAAD,CAAN,GAA4BN,MAAM,CAACK,GAAD,CAAlC;AACA,WAAOD,MAAP;AACH,GAHM,EAGJ,EAHI,CAAP;AAIH;;ACPM,SAASG,SAAT,CAAmBC,QAAnB,EAA6BC,OAA7B,EAAsC;AACzC,QAAMC,MAAM,GAAGT,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBH,QAAlB,CAAf;AACAP,EAAAA,MAAM,CAACC,IAAP,CAAYO,OAAZ,EAAqBG,OAArB,CAA8BP,GAAD,IAAS;AAClC,QAAIQ,2BAAa,CAACJ,OAAO,CAACJ,GAAD,CAAR,CAAjB,EAAiC;AAC7B,UAAI,EAAEA,GAAG,IAAIG,QAAT,CAAJ,EACIP,MAAM,CAACU,MAAP,CAAcD,MAAd,EAAsB;AAAE,SAACL,GAAD,GAAOI,OAAO,CAACJ,GAAD;AAAhB,OAAtB,EADJ,KAGIK,MAAM,CAACL,GAAD,CAAN,GAAcE,SAAS,CAACC,QAAQ,CAACH,GAAD,CAAT,EAAgBI,OAAO,CAACJ,GAAD,CAAvB,CAAvB;AACP,KALD,MAMK;AACDJ,MAAAA,MAAM,CAACU,MAAP,CAAcD,MAAd,EAAsB;AAAE,SAACL,GAAD,GAAOI,OAAO,CAACJ,GAAD;AAAhB,OAAtB;AACH;AACJ,GAVD;AAWA,SAAOK,MAAP;AACH;;ACfM,SAASI,yBAAT,CAAmCC,GAAnC,EAAwC;AAC3C,OAAK,MAAMV,GAAX,IAAkBU,GAAlB,EAAuB;AACnB,QAAIA,GAAG,CAACV,GAAD,CAAH,KAAaW,SAAjB,EAA4B;AACxB,aAAOD,GAAG,CAACV,GAAD,CAAV;AACH;AACJ;;AACD,SAAOU,GAAP;AACH;;ACJM,SAASE,KAAT,CAAeT,QAAf,EAAyBU,KAAzB,EAAgCT,OAAhC,EAAyC;AAC5C,MAAI,OAAOS,KAAP,KAAiB,QAArB,EAA+B;AAC3B,QAAI,CAACC,MAAD,EAASC,GAAT,IAAgBF,KAAK,CAACG,KAAN,CAAY,GAAZ,CAApB;AACAZ,IAAAA,OAAO,GAAGR,MAAM,CAACU,MAAP,CAAcS,GAAG,GAAG;AAAED,MAAAA,MAAF;AAAUC,MAAAA;AAAV,KAAH,GAAqB;AAAEA,MAAAA,GAAG,EAAED;AAAP,KAAtC,EAAuDV,OAAvD,CAAV;AACH,GAHD,MAIK;AACDA,IAAAA,OAAO,GAAGR,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBO,KAAlB,CAAV;AACH,GAP2C;;;AAS5CT,EAAAA,OAAO,CAACa,OAAR,GAAkBvB,aAAa,CAACU,OAAO,CAACa,OAAT,CAA/B,CAT4C;;AAW5CR,EAAAA,yBAAyB,CAACL,OAAD,CAAzB;AACAK,EAAAA,yBAAyB,CAACL,OAAO,CAACa,OAAT,CAAzB;AACA,QAAMC,aAAa,GAAGhB,SAAS,CAACC,QAAQ,IAAI,EAAb,EAAiBC,OAAjB,CAA/B,CAb4C;;AAe5C,MAAID,QAAQ,IAAIA,QAAQ,CAACgB,SAAT,CAAmBC,QAAnB,CAA4BC,MAA5C,EAAoD;AAChDH,IAAAA,aAAa,CAACC,SAAd,CAAwBC,QAAxB,GAAmCjB,QAAQ,CAACgB,SAAT,CAAmBC,QAAnB,CAC9BE,MAD8B,CACtBC,OAAD,IAAa,CAACL,aAAa,CAACC,SAAd,CAAwBC,QAAxB,CAAiCI,QAAjC,CAA0CD,OAA1C,CADS,EAE9BE,MAF8B,CAEvBP,aAAa,CAACC,SAAd,CAAwBC,QAFD,CAAnC;AAGH;;AACDF,EAAAA,aAAa,CAACC,SAAd,CAAwBC,QAAxB,GAAmCF,aAAa,CAACC,SAAd,CAAwBC,QAAxB,CAAiCM,GAAjC,CAAsCH,OAAD,IAAaA,OAAO,CAACI,OAAR,CAAgB,UAAhB,EAA4B,EAA5B,CAAlD,CAAnC;AACA,SAAOT,aAAP;AACH;;ACzBM,SAASU,kBAAT,CAA4Bb,GAA5B,EAAiCc,UAAjC,EAA6C;AAChD,QAAMC,SAAS,GAAG,KAAKC,IAAL,CAAUhB,GAAV,IAAiB,GAAjB,GAAuB,GAAzC;AACA,QAAMiB,KAAK,GAAGpC,MAAM,CAACC,IAAP,CAAYgC,UAAZ,CAAd;;AACA,MAAIG,KAAK,CAACX,MAAN,KAAiB,CAArB,EAAwB;AACpB,WAAON,GAAP;AACH;;AACD,SAAQA,GAAG,GACPe,SADI,GAEJE,KAAK,CACAN,GADL,CACUO,IAAD,IAAU;AACf,QAAIA,IAAI,KAAK,GAAb,EAAkB;AACd,aAAQ,OAAOJ,UAAU,CAACK,CAAX,CAAalB,KAAb,CAAmB,GAAnB,EAAwBU,GAAxB,CAA4BS,kBAA5B,EAAgDC,IAAhD,CAAqD,GAArD,CAAf;AACH;;AACD,WAAQ,GAAEH,IAAK,IAAGE,kBAAkB,CAACN,UAAU,CAACI,IAAD,CAAX,CAAmB,EAAvD;AACH,GAND,EAOKG,IAPL,CAOU,GAPV,CAFJ;AAUH;;AChBD,MAAMC,gBAAgB,GAAG,YAAzB;;AACA,SAASC,cAAT,CAAwBC,YAAxB,EAAsC;AAClC,SAAOA,YAAY,CAACZ,OAAb,CAAqB,YAArB,EAAmC,EAAnC,EAAuCX,KAAvC,CAA6C,GAA7C,CAAP;AACH;;AACD,AAAO,SAASwB,uBAAT,CAAiCzB,GAAjC,EAAsC;AACzC,QAAM0B,OAAO,GAAG1B,GAAG,CAAC2B,KAAJ,CAAUL,gBAAV,CAAhB;;AACA,MAAI,CAACI,OAAL,EAAc;AACV,WAAO,EAAP;AACH;;AACD,SAAOA,OAAO,CAACf,GAAR,CAAYY,cAAZ,EAA4BxC,MAA5B,CAAmC,CAAC6C,CAAD,EAAIC,CAAJ,KAAUD,CAAC,CAAClB,MAAF,CAASmB,CAAT,CAA7C,EAA0D,EAA1D,CAAP;AACH;;ACVM,SAASC,IAAT,CAAclD,MAAd,EAAsBmD,UAAtB,EAAkC;AACrC,SAAOlD,MAAM,CAACC,IAAP,CAAYF,MAAZ,EACF2B,MADE,CACMyB,MAAD,IAAY,CAACD,UAAU,CAACtB,QAAX,CAAoBuB,MAApB,CADlB,EAEFjD,MAFE,CAEK,CAACY,GAAD,EAAMV,GAAN,KAAc;AACtBU,IAAAA,GAAG,CAACV,GAAD,CAAH,GAAWL,MAAM,CAACK,GAAD,CAAjB;AACA,WAAOU,GAAP;AACH,GALM,EAKJ,EALI,CAAP;AAMH;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,SAASsC,cAAT,CAAwBC,GAAxB,EAA6B;AACzB,SAAOA,GAAG,CACLjC,KADE,CACI,oBADJ,EAEFU,GAFE,CAEE,UAAUwB,IAAV,EAAgB;AACrB,QAAI,CAAC,eAAenB,IAAf,CAAoBmB,IAApB,CAAL,EAAgC;AAC5BA,MAAAA,IAAI,GAAGC,SAAS,CAACD,IAAD,CAAT,CAAgBvB,OAAhB,CAAwB,MAAxB,EAAgC,GAAhC,EAAqCA,OAArC,CAA6C,MAA7C,EAAqD,GAArD,CAAP;AACH;;AACD,WAAOuB,IAAP;AACH,GAPM,EAQFd,IARE,CAQG,EARH,CAAP;AASH;;AACD,SAASgB,gBAAT,CAA0BH,GAA1B,EAA+B;AAC3B,SAAOd,kBAAkB,CAACc,GAAD,CAAlB,CAAwBtB,OAAxB,CAAgC,UAAhC,EAA4C,UAAU0B,CAAV,EAAa;AAC5D,WAAO,MAAMA,CAAC,CAACC,UAAF,CAAa,CAAb,EAAgBC,QAAhB,CAAyB,EAAzB,EAA6BC,WAA7B,EAAb;AACH,GAFM,CAAP;AAGH;;AACD,SAASC,WAAT,CAAqBC,QAArB,EAA+BC,KAA/B,EAAsC3D,GAAtC,EAA2C;AACvC2D,EAAAA,KAAK,GACDD,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAjC,GACMV,cAAc,CAACW,KAAD,CADpB,GAEMP,gBAAgB,CAACO,KAAD,CAH1B;;AAIA,MAAI3D,GAAJ,EAAS;AACL,WAAOoD,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAAxB,GAA8B2D,KAArC;AACH,GAFD,MAGK;AACD,WAAOA,KAAP;AACH;AACJ;;AACD,SAASC,SAAT,CAAmBD,KAAnB,EAA0B;AACtB,SAAOA,KAAK,KAAKhD,SAAV,IAAuBgD,KAAK,KAAK,IAAxC;AACH;;AACD,SAASE,aAAT,CAAuBH,QAAvB,EAAiC;AAC7B,SAAOA,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAjC,IAAwCA,QAAQ,KAAK,GAA5D;AACH;;AACD,SAASI,SAAT,CAAmBC,OAAnB,EAA4BL,QAA5B,EAAsC1D,GAAtC,EAA2CgE,QAA3C,EAAqD;AACjD,MAAIL,KAAK,GAAGI,OAAO,CAAC/D,GAAD,CAAnB;AAAA,MAA0BK,MAAM,GAAG,EAAnC;;AACA,MAAIuD,SAAS,CAACD,KAAD,CAAT,IAAoBA,KAAK,KAAK,EAAlC,EAAsC;AAClC,QAAI,OAAOA,KAAP,KAAiB,QAAjB,IACA,OAAOA,KAAP,KAAiB,QADjB,IAEA,OAAOA,KAAP,KAAiB,SAFrB,EAEgC;AAC5BA,MAAAA,KAAK,GAAGA,KAAK,CAACJ,QAAN,EAAR;;AACA,UAAIS,QAAQ,IAAIA,QAAQ,KAAK,GAA7B,EAAkC;AAC9BL,QAAAA,KAAK,GAAGA,KAAK,CAACM,SAAN,CAAgB,CAAhB,EAAmBC,QAAQ,CAACF,QAAD,EAAW,EAAX,CAA3B,CAAR;AACH;;AACD3D,MAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAX,EAAkBE,aAAa,CAACH,QAAD,CAAb,GAA0B1D,GAA1B,GAAgC,EAAlD,CAAvB;AACH,KARD,MASK;AACD,UAAIgE,QAAQ,KAAK,GAAjB,EAAsB;AAClB,YAAII,KAAK,CAACC,OAAN,CAAcV,KAAd,CAAJ,EAA0B;AACtBA,UAAAA,KAAK,CAACrC,MAAN,CAAasC,SAAb,EAAwBrD,OAAxB,CAAgC,UAAUoD,KAAV,EAAiB;AAC7CtD,YAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAX,EAAkBE,aAAa,CAACH,QAAD,CAAb,GAA0B1D,GAA1B,GAAgC,EAAlD,CAAvB;AACH,WAFD;AAGH,SAJD,MAKK;AACDJ,UAAAA,MAAM,CAACC,IAAP,CAAY8D,KAAZ,EAAmBpD,OAAnB,CAA2B,UAAU+D,CAAV,EAAa;AACpC,gBAAIV,SAAS,CAACD,KAAK,CAACW,CAAD,CAAN,CAAb,EAAyB;AACrBjE,cAAAA,MAAM,CAAC8D,IAAP,CAAYV,WAAW,CAACC,QAAD,EAAWC,KAAK,CAACW,CAAD,CAAhB,EAAqBA,CAArB,CAAvB;AACH;AACJ,WAJD;AAKH;AACJ,OAbD,MAcK;AACD,cAAMC,GAAG,GAAG,EAAZ;;AACA,YAAIH,KAAK,CAACC,OAAN,CAAcV,KAAd,CAAJ,EAA0B;AACtBA,UAAAA,KAAK,CAACrC,MAAN,CAAasC,SAAb,EAAwBrD,OAAxB,CAAgC,UAAUoD,KAAV,EAAiB;AAC7CY,YAAAA,GAAG,CAACJ,IAAJ,CAASV,WAAW,CAACC,QAAD,EAAWC,KAAX,CAApB;AACH,WAFD;AAGH,SAJD,MAKK;AACD/D,UAAAA,MAAM,CAACC,IAAP,CAAY8D,KAAZ,EAAmBpD,OAAnB,CAA2B,UAAU+D,CAAV,EAAa;AACpC,gBAAIV,SAAS,CAACD,KAAK,CAACW,CAAD,CAAN,CAAb,EAAyB;AACrBC,cAAAA,GAAG,CAACJ,IAAJ,CAASf,gBAAgB,CAACkB,CAAD,CAAzB;AACAC,cAAAA,GAAG,CAACJ,IAAJ,CAASV,WAAW,CAACC,QAAD,EAAWC,KAAK,CAACW,CAAD,CAAL,CAASf,QAAT,EAAX,CAApB;AACH;AACJ,WALD;AAMH;;AACD,YAAIM,aAAa,CAACH,QAAD,CAAjB,EAA6B;AACzBrD,UAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAAxB,GAA8BuE,GAAG,CAACnC,IAAJ,CAAS,GAAT,CAA1C;AACH,SAFD,MAGK,IAAImC,GAAG,CAAClD,MAAJ,KAAe,CAAnB,EAAsB;AACvBhB,UAAAA,MAAM,CAAC8D,IAAP,CAAYI,GAAG,CAACnC,IAAJ,CAAS,GAAT,CAAZ;AACH;AACJ;AACJ;AACJ,GAhDD,MAiDK;AACD,QAAIsB,QAAQ,KAAK,GAAjB,EAAsB;AAClB,UAAIE,SAAS,CAACD,KAAD,CAAb,EAAsB;AAClBtD,QAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAA5B;AACH;AACJ,KAJD,MAKK,IAAI2D,KAAK,KAAK,EAAV,KAAiBD,QAAQ,KAAK,GAAb,IAAoBA,QAAQ,KAAK,GAAlD,CAAJ,EAA4D;AAC7DrD,MAAAA,MAAM,CAAC8D,IAAP,CAAYf,gBAAgB,CAACpD,GAAD,CAAhB,GAAwB,GAApC;AACH,KAFI,MAGA,IAAI2D,KAAK,KAAK,EAAd,EAAkB;AACnBtD,MAAAA,MAAM,CAAC8D,IAAP,CAAY,EAAZ;AACH;AACJ;;AACD,SAAO9D,MAAP;AACH;;AACD,AAAO,SAASmE,QAAT,CAAkBC,QAAlB,EAA4B;AAC/B,SAAO;AACHC,IAAAA,MAAM,EAAEA,MAAM,CAACC,IAAP,CAAY,IAAZ,EAAkBF,QAAlB;AADL,GAAP;AAGH;;AACD,SAASC,MAAT,CAAgBD,QAAhB,EAA0BV,OAA1B,EAAmC;AAC/B,MAAIa,SAAS,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,CAAhB;AACA,SAAOH,QAAQ,CAAC9C,OAAT,CAAiB,4BAAjB,EAA+C,UAAUkD,CAAV,EAAaC,UAAb,EAAyBC,OAAzB,EAAkC;AACpF,QAAID,UAAJ,EAAgB;AACZ,UAAIpB,QAAQ,GAAG,EAAf;AACA,YAAMsB,MAAM,GAAG,EAAf;;AACA,UAAIJ,SAAS,CAACK,OAAV,CAAkBH,UAAU,CAACI,MAAX,CAAkB,CAAlB,CAAlB,MAA4C,CAAC,CAAjD,EAAoD;AAChDxB,QAAAA,QAAQ,GAAGoB,UAAU,CAACI,MAAX,CAAkB,CAAlB,CAAX;AACAJ,QAAAA,UAAU,GAAGA,UAAU,CAACK,MAAX,CAAkB,CAAlB,CAAb;AACH;;AACDL,MAAAA,UAAU,CAAC9D,KAAX,CAAiB,IAAjB,EAAuBT,OAAvB,CAA+B,UAAU6E,QAAV,EAAoB;AAC/C,YAAIb,GAAG,GAAG,4BAA4Bc,IAA5B,CAAiCD,QAAjC,CAAV;AACAJ,QAAAA,MAAM,CAACb,IAAP,CAAYL,SAAS,CAACC,OAAD,EAAUL,QAAV,EAAoBa,GAAG,CAAC,CAAD,CAAvB,EAA4BA,GAAG,CAAC,CAAD,CAAH,IAAUA,GAAG,CAAC,CAAD,CAAzC,CAArB;AACH,OAHD;;AAIA,UAAIb,QAAQ,IAAIA,QAAQ,KAAK,GAA7B,EAAkC;AAC9B,YAAI5B,SAAS,GAAG,GAAhB;;AACA,YAAI4B,QAAQ,KAAK,GAAjB,EAAsB;AAClB5B,UAAAA,SAAS,GAAG,GAAZ;AACH,SAFD,MAGK,IAAI4B,QAAQ,KAAK,GAAjB,EAAsB;AACvB5B,UAAAA,SAAS,GAAG4B,QAAZ;AACH;;AACD,eAAO,CAACsB,MAAM,CAAC3D,MAAP,KAAkB,CAAlB,GAAsBqC,QAAtB,GAAiC,EAAlC,IAAwCsB,MAAM,CAAC5C,IAAP,CAAYN,SAAZ,CAA/C;AACH,OATD,MAUK;AACD,eAAOkD,MAAM,CAAC5C,IAAP,CAAY,GAAZ,CAAP;AACH;AACJ,KAxBD,MAyBK;AACD,aAAOY,cAAc,CAAC+B,OAAD,CAArB;AACH;AACJ,GA7BM,CAAP;AA8BH;;AC/JM,SAASO,KAAT,CAAelF,OAAf,EAAwB;AAC3B;AACA,MAAIU,MAAM,GAAGV,OAAO,CAACU,MAAR,CAAe0C,WAAf,EAAb,CAF2B;;AAI3B,MAAIzC,GAAG,GAAG,CAACX,OAAO,CAACW,GAAR,IAAe,GAAhB,EAAqBY,OAArB,CAA6B,cAA7B,EAA6C,MAA7C,CAAV;AACA,MAAIV,OAAO,GAAGrB,MAAM,CAACU,MAAP,CAAc,EAAd,EAAkBF,OAAO,CAACa,OAA1B,CAAd;AACA,MAAIsE,IAAJ;AACA,MAAI1D,UAAU,GAAGgB,IAAI,CAACzC,OAAD,EAAU,CAC3B,QAD2B,EAE3B,SAF2B,EAG3B,KAH2B,EAI3B,SAJ2B,EAK3B,SAL2B,EAM3B,WAN2B,CAAV,CAArB,CAP2B;;AAgB3B,QAAMoF,gBAAgB,GAAGhD,uBAAuB,CAACzB,GAAD,CAAhD;AACAA,EAAAA,GAAG,GAAGyD,QAAQ,CAACzD,GAAD,CAAR,CAAc2D,MAAd,CAAqB7C,UAArB,CAAN;;AACA,MAAI,CAAC,QAAQE,IAAR,CAAahB,GAAb,CAAL,EAAwB;AACpBA,IAAAA,GAAG,GAAGX,OAAO,CAACqF,OAAR,GAAkB1E,GAAxB;AACH;;AACD,QAAM2E,iBAAiB,GAAG9F,MAAM,CAACC,IAAP,CAAYO,OAAZ,EACrBkB,MADqB,CACbyB,MAAD,IAAYyC,gBAAgB,CAAChE,QAAjB,CAA0BuB,MAA1B,CADE,EAErBtB,MAFqB,CAEd,SAFc,CAA1B;AAGA,QAAMkE,mBAAmB,GAAG9C,IAAI,CAAChB,UAAD,EAAa6D,iBAAb,CAAhC;AACA,QAAME,eAAe,GAAG,6BAA6B7D,IAA7B,CAAkCd,OAAO,CAAC4E,MAA1C,CAAxB;;AACA,MAAI,CAACD,eAAL,EAAsB;AAClB,QAAIxF,OAAO,CAACe,SAAR,CAAkB2E,MAAtB,EAA8B;AAC1B;AACA7E,MAAAA,OAAO,CAAC4E,MAAR,GAAiB5E,OAAO,CAAC4E,MAAR,CACZ7E,KADY,CACN,GADM,EAEZU,GAFY,CAEPH,OAAD,IAAaA,OAAO,CAACI,OAAR,CAAgB,kDAAhB,EAAqE,uBAAsBvB,OAAO,CAACe,SAAR,CAAkB2E,MAAO,EAApH,CAFL,EAGZ1D,IAHY,CAGP,GAHO,CAAjB;AAIH;;AACD,QAAIhC,OAAO,CAACe,SAAR,CAAkBC,QAAlB,CAA2BC,MAA/B,EAAuC;AACnC,YAAM0E,wBAAwB,GAAG9E,OAAO,CAAC4E,MAAR,CAAenD,KAAf,CAAqB,qBAArB,KAA+C,EAAhF;AACAzB,MAAAA,OAAO,CAAC4E,MAAR,GAAiBE,wBAAwB,CACpCtE,MADY,CACLrB,OAAO,CAACe,SAAR,CAAkBC,QADb,EAEZM,GAFY,CAEPH,OAAD,IAAa;AAClB,cAAMuE,MAAM,GAAG1F,OAAO,CAACe,SAAR,CAAkB2E,MAAlB,GACR,IAAG1F,OAAO,CAACe,SAAR,CAAkB2E,MAAO,EADpB,GAET,OAFN;AAGA,eAAQ,0BAAyBvE,OAAQ,WAAUuE,MAAO,EAA1D;AACH,OAPgB,EAQZ1D,IARY,CAQP,GARO,CAAjB;AASH;AACJ,GA9C0B;AAgD3B;;;AACA,MAAI,CAAC,KAAD,EAAQ,MAAR,EAAgBZ,QAAhB,CAAyBV,MAAzB,CAAJ,EAAsC;AAClCC,IAAAA,GAAG,GAAGa,kBAAkB,CAACb,GAAD,EAAM4E,mBAAN,CAAxB;AACH,GAFD,MAGK;AACD,QAAI,UAAUA,mBAAd,EAAmC;AAC/BJ,MAAAA,IAAI,GAAGI,mBAAmB,CAACK,IAA3B;AACH,KAFD,MAGK;AACD,UAAIpG,MAAM,CAACC,IAAP,CAAY8F,mBAAZ,EAAiCtE,MAArC,EAA6C;AACzCkE,QAAAA,IAAI,GAAGI,mBAAP;AACH,OAFD,MAGK;AACD1E,QAAAA,OAAO,CAAC,gBAAD,CAAP,GAA4B,CAA5B;AACH;AACJ;AACJ,GAhE0B;;;AAkE3B,MAAI,CAACA,OAAO,CAAC,cAAD,CAAR,IAA4B,OAAOsE,IAAP,KAAgB,WAAhD,EAA6D;AACzDtE,IAAAA,OAAO,CAAC,cAAD,CAAP,GAA0B,iCAA1B;AACH,GApE0B;AAsE3B;;;AACA,MAAI,CAAC,OAAD,EAAU,KAAV,EAAiBO,QAAjB,CAA0BV,MAA1B,KAAqC,OAAOyE,IAAP,KAAgB,WAAzD,EAAsE;AAClEA,IAAAA,IAAI,GAAG,EAAP;AACH,GAzE0B;;;AA2E3B,SAAO3F,MAAM,CAACU,MAAP,CAAc;AAAEQ,IAAAA,MAAF;AAAUC,IAAAA,GAAV;AAAeE,IAAAA;AAAf,GAAd,EAAwC,OAAOsE,IAAP,KAAgB,WAAhB,GAA8B;AAAEA,IAAAA;AAAF,GAA9B,GAAyC,IAAjF,EAAuFnF,OAAO,CAAC6F,OAAR,GAAkB;AAAEA,IAAAA,OAAO,EAAE7F,OAAO,CAAC6F;AAAnB,GAAlB,GAAiD,IAAxI,CAAP;AACH;;AC9EM,SAASC,oBAAT,CAA8B/F,QAA9B,EAAwCU,KAAxC,EAA+CT,OAA/C,EAAwD;AAC3D,SAAOkF,KAAK,CAAC1E,KAAK,CAACT,QAAD,EAAWU,KAAX,EAAkBT,OAAlB,CAAN,CAAZ;AACH;;ACDM,SAAS+F,YAAT,CAAsBC,WAAtB,EAAmCC,WAAnC,EAAgD;AACnD,QAAMC,QAAQ,GAAG1F,KAAK,CAACwF,WAAD,EAAcC,WAAd,CAAtB;AACA,QAAME,QAAQ,GAAGL,oBAAoB,CAACvB,IAArB,CAA0B,IAA1B,EAAgC2B,QAAhC,CAAjB;AACA,SAAO1G,MAAM,CAACU,MAAP,CAAciG,QAAd,EAAwB;AAC3BD,IAAAA,QAD2B;AAE3BnG,IAAAA,QAAQ,EAAEgG,YAAY,CAACxB,IAAb,CAAkB,IAAlB,EAAwB2B,QAAxB,CAFiB;AAG3B1F,IAAAA,KAAK,EAAEA,KAAK,CAAC+D,IAAN,CAAW,IAAX,EAAiB2B,QAAjB,CAHoB;AAI3BhB,IAAAA;AAJ2B,GAAxB,CAAP;AAMH;;ACZM,MAAMkB,OAAO,GAAG,mBAAhB;;ACEP,MAAMC,SAAS,GAAI,uBAAsBD,OAAQ,IAAGE,+BAAY,EAAG,EAAnE;AAEA;;AACA,AAAO,MAAMJ,QAAQ,GAAG;AACpBxF,EAAAA,MAAM,EAAE,KADY;AAEpB2E,EAAAA,OAAO,EAAE,wBAFW;AAGpBxE,EAAAA,OAAO,EAAE;AACL4E,IAAAA,MAAM,EAAE,gCADH;AAEL,kBAAcY;AAFT,GAHW;AAOpBtF,EAAAA,SAAS,EAAE;AACP2E,IAAAA,MAAM,EAAE,EADD;AAEP1E,IAAAA,QAAQ,EAAE;AAFH;AAPS,CAAjB;;MCHMmF,QAAQ,GAAGJ,YAAY,CAAC,IAAD,EAAOG,QAAP,CAA7B;;;;"}
\ No newline at end of file
+{
+ "version": 3,
+ "sources": ["../dist-src/index.js", "../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/util/lowercase-keys.js", "../dist-src/util/is-plain-object.js", "../dist-src/util/merge-deep.js", "../dist-src/util/remove-undefined-properties.js", "../dist-src/merge.js", "../dist-src/util/add-query-parameters.js", "../dist-src/util/extract-url-variable-names.js", "../dist-src/util/omit.js", "../dist-src/util/url-template.js", "../dist-src/parse.js", "../dist-src/endpoint-with-defaults.js", "../dist-src/with-defaults.js"],
+ "sourcesContent": ["import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nconst endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n", "import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\"\n }\n};\nexport {\n DEFAULTS\n};\n", "const VERSION = \"9.0.4\";\nexport {\n VERSION\n};\n", "function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\nexport {\n lowercaseKeys\n};\n", "function isPlainObject(value) {\n if (typeof value !== \"object\" || value === null)\n return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null)\n return true;\n const Ctor = Object.prototype.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);\n}\nexport {\n isPlainObject\n};\n", "import { isPlainObject } from \"./is-plain-object\";\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\nexport {\n mergeDeep\n};\n", "function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\nexport {\n removeUndefinedProperties\n};\n", "import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (options.url === \"/graphql\") {\n if (defaults && defaults.mediaType.previews?.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n (preview) => !mergedOptions.mediaType.previews.includes(preview)\n ).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n }\n return mergedOptions;\n}\nexport {\n merge\n};\n", "function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return url + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\nexport {\n addQueryParameters\n};\n", "const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\nexport {\n extractUrlVariableNames\n};\n", "function omit(object, keysToOmit) {\n const result = { __proto__: null };\n for (const key of Object.keys(object)) {\n if (keysToOmit.indexOf(key) === -1) {\n result[key] = object[key];\n }\n }\n return result;\n}\nexport {\n omit\n};\n", "function encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n }).join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== void 0 && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(\n encodeValue(operator, value, isKeyOperator(operator) ? key : \"\")\n );\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n result.push(\n encodeValue(operator, value2, isKeyOperator(operator) ? key : \"\")\n );\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n tmp.push(encodeValue(operator, value2));\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n template = template.replace(\n /\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g,\n function(_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function(variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n }\n );\n if (template === \"/\") {\n return template;\n } else {\n return template.replace(/\\/$/, \"\");\n }\n}\nexport {\n parseUrl\n};\n", "import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nfunction parse(options) {\n let method = options.method.toUpperCase();\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\"\n ]);\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n headers.accept = headers.accept.split(/,/).map(\n (format) => format.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (url.endsWith(\"/graphql\")) {\n if (options.mediaType.previews?.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\nexport {\n parse\n};\n", "import { DEFAULTS } from \"./defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\nexport {\n endpointWithDefaults\n};\n", "import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\nexport {\n withDefaults\n};\n"],
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,kCAA6B;;;ACA7B,IAAM,UAAU;;;ADEhB,IAAM,YAAY,uBAAuB,OAAO,QAAI,0CAAa,CAAC;AAClE,IAAM,WAAW;AAAA,EACf,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,QAAQ;AAAA,EACV;AACF;;;AEbA,SAAS,cAAc,QAAQ;AAC7B,MAAI,CAAC,QAAQ;AACX,WAAO,CAAC;AAAA,EACV;AACA,SAAO,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACjD,WAAO,IAAI,YAAY,CAAC,IAAI,OAAO,GAAG;AACtC,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;ACRA,SAAS,cAAc,OAAO;AAC5B,MAAI,OAAO,UAAU,YAAY,UAAU;AACzC,WAAO;AACT,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAC5C,WAAO;AACT,QAAM,QAAQ,OAAO,eAAe,KAAK;AACzC,MAAI,UAAU;AACZ,WAAO;AACT,QAAM,OAAO,OAAO,UAAU,eAAe,KAAK,OAAO,aAAa,KAAK,MAAM;AACjF,SAAO,OAAO,SAAS,cAAc,gBAAgB,QAAQ,SAAS,UAAU,KAAK,IAAI,MAAM,SAAS,UAAU,KAAK,KAAK;AAC9H;;;ACTA,SAAS,UAAU,UAAU,SAAS;AACpC,QAAM,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ;AACzC,SAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,QAAI,cAAc,QAAQ,GAAG,CAAC,GAAG;AAC/B,UAAI,EAAE,OAAO;AACX,eAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA;AAE7C,eAAO,GAAG,IAAI,UAAU,SAAS,GAAG,GAAG,QAAQ,GAAG,CAAC;AAAA,IACvD,OAAO;AACL,aAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA,IAC/C;AAAA,EACF,CAAC;AACD,SAAO;AACT;;;ACdA,SAAS,0BAA0B,KAAK;AACtC,aAAW,OAAO,KAAK;AACrB,QAAI,IAAI,GAAG,MAAM,QAAQ;AACvB,aAAO,IAAI,GAAG;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;;;ACJA,SAAS,MAAM,UAAU,OAAO,SAAS;AACvC,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,MAAM,GAAG;AACnC,cAAU,OAAO,OAAO,MAAM,EAAE,QAAQ,IAAI,IAAI,EAAE,KAAK,OAAO,GAAG,OAAO;AAAA,EAC1E,OAAO;AACL,cAAU,OAAO,OAAO,CAAC,GAAG,KAAK;AAAA,EACnC;AACA,UAAQ,UAAU,cAAc,QAAQ,OAAO;AAC/C,4BAA0B,OAAO;AACjC,4BAA0B,QAAQ,OAAO;AACzC,QAAM,gBAAgB,UAAU,YAAY,CAAC,GAAG,OAAO;AACvD,MAAI,QAAQ,QAAQ,YAAY;AAC9B,QAAI,YAAY,SAAS,UAAU,UAAU,QAAQ;AACnD,oBAAc,UAAU,WAAW,SAAS,UAAU,SAAS;AAAA,QAC7D,CAAC,YAAY,CAAC,cAAc,UAAU,SAAS,SAAS,OAAO;AAAA,MACjE,EAAE,OAAO,cAAc,UAAU,QAAQ;AAAA,IAC3C;AACA,kBAAc,UAAU,YAAY,cAAc,UAAU,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,QAAQ,QAAQ,YAAY,EAAE,CAAC;AAAA,EAC9H;AACA,SAAO;AACT;;;ACvBA,SAAS,mBAAmB,KAAK,YAAY;AAC3C,QAAM,YAAY,KAAK,KAAK,GAAG,IAAI,MAAM;AACzC,QAAM,QAAQ,OAAO,KAAK,UAAU;AACpC,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO;AAAA,EACT;AACA,SAAO,MAAM,YAAY,MAAM,IAAI,CAAC,SAAS;AAC3C,QAAI,SAAS,KAAK;AAChB,aAAO,OAAO,WAAW,EAAE,MAAM,GAAG,EAAE,IAAI,kBAAkB,EAAE,KAAK,GAAG;AAAA,IACxE;AACA,WAAO,GAAG,IAAI,IAAI,mBAAmB,WAAW,IAAI,CAAC,CAAC;AAAA,EACxD,CAAC,EAAE,KAAK,GAAG;AACb;;;ACZA,IAAM,mBAAmB;AACzB,SAAS,eAAe,cAAc;AACpC,SAAO,aAAa,QAAQ,cAAc,EAAE,EAAE,MAAM,GAAG;AACzD;AACA,SAAS,wBAAwB,KAAK;AACpC,QAAM,UAAU,IAAI,MAAM,gBAAgB;AAC1C,MAAI,CAAC,SAAS;AACZ,WAAO,CAAC;AAAA,EACV;AACA,SAAO,QAAQ,IAAI,cAAc,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACrE;;;ACVA,SAAS,KAAK,QAAQ,YAAY;AAChC,QAAM,SAAS,EAAE,WAAW,KAAK;AACjC,aAAW,OAAO,OAAO,KAAK,MAAM,GAAG;AACrC,QAAI,WAAW,QAAQ,GAAG,MAAM,IAAI;AAClC,aAAO,GAAG,IAAI,OAAO,GAAG;AAAA,IAC1B;AAAA,EACF;AACA,SAAO;AACT;;;ACRA,SAAS,eAAe,KAAK;AAC3B,SAAO,IAAI,MAAM,oBAAoB,EAAE,IAAI,SAAS,MAAM;AACxD,QAAI,CAAC,eAAe,KAAK,IAAI,GAAG;AAC9B,aAAO,UAAU,IAAI,EAAE,QAAQ,QAAQ,GAAG,EAAE,QAAQ,QAAQ,GAAG;AAAA,IACjE;AACA,WAAO;AAAA,EACT,CAAC,EAAE,KAAK,EAAE;AACZ;AACA,SAAS,iBAAiB,KAAK;AAC7B,SAAO,mBAAmB,GAAG,EAAE,QAAQ,YAAY,SAAS,GAAG;AAC7D,WAAO,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,YAAY;AAAA,EACxD,CAAC;AACH;AACA,SAAS,YAAY,UAAU,OAAO,KAAK;AACzC,UAAQ,aAAa,OAAO,aAAa,MAAM,eAAe,KAAK,IAAI,iBAAiB,KAAK;AAC7F,MAAI,KAAK;AACP,WAAO,iBAAiB,GAAG,IAAI,MAAM;AAAA,EACvC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AACA,SAAS,UAAU,OAAO;AACxB,SAAO,UAAU,UAAU,UAAU;AACvC;AACA,SAAS,cAAc,UAAU;AAC/B,SAAO,aAAa,OAAO,aAAa,OAAO,aAAa;AAC9D;AACA,SAAS,UAAU,SAAS,UAAU,KAAK,UAAU;AACnD,MAAI,QAAQ,QAAQ,GAAG,GAAG,SAAS,CAAC;AACpC,MAAI,UAAU,KAAK,KAAK,UAAU,IAAI;AACpC,QAAI,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,aAAW,SAAS;AAAA,IAClB;AAAA,IACA,SAAS,GAAG,YAAY,SAAS;AAC/B,UAAI,YAAY;AACd,YAAI,WAAW;AACf,cAAM,SAAS,CAAC;AAChB,YAAI,UAAU,QAAQ,WAAW,OAAO,CAAC,CAAC,MAAM,IAAI;AAClD,qBAAW,WAAW,OAAO,CAAC;AAC9B,uBAAa,WAAW,OAAO,CAAC;AAAA,QAClC;AACA,mBAAW,MAAM,IAAI,EAAE,QAAQ,SAAS,UAAU;AAChD,cAAI,MAAM,4BAA4B,KAAK,QAAQ;AACnD,iBAAO,KAAK,UAAU,SAAS,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;AAAA,QACpE,CAAC;AACD,YAAI,YAAY,aAAa,KAAK;AAChC,cAAI,YAAY;AAChB,cAAI,aAAa,KAAK;AACpB,wBAAY;AAAA,UACd,WAAW,aAAa,KAAK;AAC3B,wBAAY;AAAA,UACd;AACA,kBAAQ,OAAO,WAAW,IAAI,WAAW,MAAM,OAAO,KAAK,SAAS;AAAA,QACtE,OAAO;AACL,iBAAO,OAAO,KAAK,GAAG;AAAA,QACxB;AAAA,MACF,OAAO;AACL,eAAO,eAAe,OAAO;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACA,MAAI,aAAa,KAAK;AACpB,WAAO;AAAA,EACT,OAAO;AACL,WAAO,SAAS,QAAQ,OAAO,EAAE;AAAA,EACnC;AACF;;;AC7HA,SAAS,MAAM,SAAS;AACtB,MAAI,SAAS,QAAQ,OAAO,YAAY;AACxC,MAAI,OAAO,QAAQ,OAAO,KAAK,QAAQ,gBAAgB,MAAM;AAC7D,MAAI,UAAU,OAAO,OAAO,CAAC,GAAG,QAAQ,OAAO;AAC/C,MAAI;AACJ,MAAI,aAAa,KAAK,SAAS;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACD,QAAM,mBAAmB,wBAAwB,GAAG;AACpD,QAAM,SAAS,GAAG,EAAE,OAAO,UAAU;AACrC,MAAI,CAAC,QAAQ,KAAK,GAAG,GAAG;AACtB,UAAM,QAAQ,UAAU;AAAA,EAC1B;AACA,QAAM,oBAAoB,OAAO,KAAK,OAAO,EAAE,OAAO,CAAC,WAAW,iBAAiB,SAAS,MAAM,CAAC,EAAE,OAAO,SAAS;AACrH,QAAM,sBAAsB,KAAK,YAAY,iBAAiB;AAC9D,QAAM,kBAAkB,6BAA6B,KAAK,QAAQ,MAAM;AACxE,MAAI,CAAC,iBAAiB;AACpB,QAAI,QAAQ,UAAU,QAAQ;AAC5B,cAAQ,SAAS,QAAQ,OAAO,MAAM,GAAG,EAAE;AAAA,QACzC,CAAC,WAAW,OAAO;AAAA,UACjB;AAAA,UACA,uBAAuB,QAAQ,UAAU,MAAM;AAAA,QACjD;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AACA,QAAI,IAAI,SAAS,UAAU,GAAG;AAC5B,UAAI,QAAQ,UAAU,UAAU,QAAQ;AACtC,cAAM,2BAA2B,QAAQ,OAAO,MAAM,qBAAqB,KAAK,CAAC;AACjF,gBAAQ,SAAS,yBAAyB,OAAO,QAAQ,UAAU,QAAQ,EAAE,IAAI,CAAC,YAAY;AAC5F,gBAAM,SAAS,QAAQ,UAAU,SAAS,IAAI,QAAQ,UAAU,MAAM,KAAK;AAC3E,iBAAO,0BAA0B,OAAO,WAAW,MAAM;AAAA,QAC3D,CAAC,EAAE,KAAK,GAAG;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,OAAO,MAAM,EAAE,SAAS,MAAM,GAAG;AACpC,UAAM,mBAAmB,KAAK,mBAAmB;AAAA,EACnD,OAAO;AACL,QAAI,UAAU,qBAAqB;AACjC,aAAO,oBAAoB;AAAA,IAC7B,OAAO;AACL,UAAI,OAAO,KAAK,mBAAmB,EAAE,QAAQ;AAC3C,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,QAAQ,cAAc,KAAK,OAAO,SAAS,aAAa;AAC3D,YAAQ,cAAc,IAAI;AAAA,EAC5B;AACA,MAAI,CAAC,SAAS,KAAK,EAAE,SAAS,MAAM,KAAK,OAAO,SAAS,aAAa;AACpE,WAAO;AAAA,EACT;AACA,SAAO,OAAO;AAAA,IACZ,EAAE,QAAQ,KAAK,QAAQ;AAAA,IACvB,OAAO,SAAS,cAAc,EAAE,KAAK,IAAI;AAAA,IACzC,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAQ,IAAI;AAAA,EACnD;AACF;;;AC/DA,SAAS,qBAAqB,UAAU,OAAO,SAAS;AACtD,SAAO,MAAM,MAAM,UAAU,OAAO,OAAO,CAAC;AAC9C;;;ACFA,SAAS,aAAa,aAAa,aAAa;AAC9C,QAAMA,YAAW,MAAM,aAAa,WAAW;AAC/C,QAAMC,YAAW,qBAAqB,KAAK,MAAMD,SAAQ;AACzD,SAAO,OAAO,OAAOC,WAAU;AAAA,IAC7B,UAAAD;AAAA,IACA,UAAU,aAAa,KAAK,MAAMA,SAAQ;AAAA,IAC1C,OAAO,MAAM,KAAK,MAAMA,SAAQ;AAAA,IAChC;AAAA,EACF,CAAC;AACH;;;AdVA,IAAM,WAAW,aAAa,MAAM,QAAQ;",
+ "names": ["DEFAULTS", "endpoint"]
+}
diff --git a/node_modules/@octokit/endpoint/dist-src/defaults.js b/node_modules/@octokit/endpoint/dist-src/defaults.js
index 456e586a..43d620c3 100644
--- a/node_modules/@octokit/endpoint/dist-src/defaults.js
+++ b/node_modules/@octokit/endpoint/dist-src/defaults.js
@@ -1,17 +1,17 @@
import { getUserAgent } from "universal-user-agent";
import { VERSION } from "./version";
const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;
-// DEFAULTS has all properties set that EndpointOptions has, except url.
-// So we use RequestParameters and add method as additional required property.
-export const DEFAULTS = {
- method: "GET",
- baseUrl: "https://api.github.com",
- headers: {
- accept: "application/vnd.github.v3+json",
- "user-agent": userAgent,
- },
- mediaType: {
- format: "",
- previews: [],
- },
+const DEFAULTS = {
+ method: "GET",
+ baseUrl: "https://api.github.com",
+ headers: {
+ accept: "application/vnd.github.v3+json",
+ "user-agent": userAgent
+ },
+ mediaType: {
+ format: ""
+ }
+};
+export {
+ DEFAULTS
};
diff --git a/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js b/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js
index 5763758f..f3c4f4b2 100644
--- a/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js
+++ b/node_modules/@octokit/endpoint/dist-src/endpoint-with-defaults.js
@@ -1,5 +1,9 @@
+import { DEFAULTS } from "./defaults";
import { merge } from "./merge";
import { parse } from "./parse";
-export function endpointWithDefaults(defaults, route, options) {
- return parse(merge(defaults, route, options));
+function endpointWithDefaults(defaults, route, options) {
+ return parse(merge(defaults, route, options));
}
+export {
+ endpointWithDefaults
+};
diff --git a/node_modules/@octokit/endpoint/dist-src/index.js b/node_modules/@octokit/endpoint/dist-src/index.js
index 599917f9..b1d45e34 100644
--- a/node_modules/@octokit/endpoint/dist-src/index.js
+++ b/node_modules/@octokit/endpoint/dist-src/index.js
@@ -1,3 +1,6 @@
import { withDefaults } from "./with-defaults";
import { DEFAULTS } from "./defaults";
-export const endpoint = withDefaults(null, DEFAULTS);
+const endpoint = withDefaults(null, DEFAULTS);
+export {
+ endpoint
+};
diff --git a/node_modules/@octokit/endpoint/dist-src/merge.js b/node_modules/@octokit/endpoint/dist-src/merge.js
index 1abcecfa..baf74698 100644
--- a/node_modules/@octokit/endpoint/dist-src/merge.js
+++ b/node_modules/@octokit/endpoint/dist-src/merge.js
@@ -1,26 +1,27 @@
import { lowercaseKeys } from "./util/lowercase-keys";
import { mergeDeep } from "./util/merge-deep";
import { removeUndefinedProperties } from "./util/remove-undefined-properties";
-export function merge(defaults, route, options) {
- if (typeof route === "string") {
- let [method, url] = route.split(" ");
- options = Object.assign(url ? { method, url } : { url: method }, options);
+function merge(defaults, route, options) {
+ if (typeof route === "string") {
+ let [method, url] = route.split(" ");
+ options = Object.assign(url ? { method, url } : { url: method }, options);
+ } else {
+ options = Object.assign({}, route);
+ }
+ options.headers = lowercaseKeys(options.headers);
+ removeUndefinedProperties(options);
+ removeUndefinedProperties(options.headers);
+ const mergedOptions = mergeDeep(defaults || {}, options);
+ if (options.url === "/graphql") {
+ if (defaults && defaults.mediaType.previews?.length) {
+ mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(
+ (preview) => !mergedOptions.mediaType.previews.includes(preview)
+ ).concat(mergedOptions.mediaType.previews);
}
- else {
- options = Object.assign({}, route);
- }
- // lowercase header names before merging with defaults to avoid duplicates
- options.headers = lowercaseKeys(options.headers);
- // remove properties with undefined values before merging
- removeUndefinedProperties(options);
- removeUndefinedProperties(options.headers);
- const mergedOptions = mergeDeep(defaults || {}, options);
- // mediaType.previews arrays are merged, instead of overwritten
- if (defaults && defaults.mediaType.previews.length) {
- mergedOptions.mediaType.previews = defaults.mediaType.previews
- .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))
- .concat(mergedOptions.mediaType.previews);
- }
- mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, ""));
- return mergedOptions;
+ mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
+ }
+ return mergedOptions;
}
+export {
+ merge
+};
diff --git a/node_modules/@octokit/endpoint/dist-src/parse.js b/node_modules/@octokit/endpoint/dist-src/parse.js
index 6bdd1bfa..2cbbe7ca 100644
--- a/node_modules/@octokit/endpoint/dist-src/parse.js
+++ b/node_modules/@octokit/endpoint/dist-src/parse.js
@@ -2,80 +2,69 @@ import { addQueryParameters } from "./util/add-query-parameters";
import { extractUrlVariableNames } from "./util/extract-url-variable-names";
import { omit } from "./util/omit";
import { parseUrl } from "./util/url-template";
-export function parse(options) {
- // https://fetch.spec.whatwg.org/#methods
- let method = options.method.toUpperCase();
- // replace :varname with {varname} to make it RFC 6570 compatible
- let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
- let headers = Object.assign({}, options.headers);
- let body;
- let parameters = omit(options, [
- "method",
- "baseUrl",
- "url",
- "headers",
- "request",
- "mediaType",
- ]);
- // extract variable names from URL to calculate remaining variables later
- const urlVariableNames = extractUrlVariableNames(url);
- url = parseUrl(url).expand(parameters);
- if (!/^http/.test(url)) {
- url = options.baseUrl + url;
+function parse(options) {
+ let method = options.method.toUpperCase();
+ let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
+ let headers = Object.assign({}, options.headers);
+ let body;
+ let parameters = omit(options, [
+ "method",
+ "baseUrl",
+ "url",
+ "headers",
+ "request",
+ "mediaType"
+ ]);
+ const urlVariableNames = extractUrlVariableNames(url);
+ url = parseUrl(url).expand(parameters);
+ if (!/^http/.test(url)) {
+ url = options.baseUrl + url;
+ }
+ const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
+ const remainingParameters = omit(parameters, omittedParameters);
+ const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
+ if (!isBinaryRequest) {
+ if (options.mediaType.format) {
+ headers.accept = headers.accept.split(/,/).map(
+ (format) => format.replace(
+ /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
+ `application/vnd$1$2.${options.mediaType.format}`
+ )
+ ).join(",");
}
- const omittedParameters = Object.keys(options)
- .filter((option) => urlVariableNames.includes(option))
- .concat("baseUrl");
- const remainingParameters = omit(parameters, omittedParameters);
- const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
- if (!isBinaryRequest) {
- if (options.mediaType.format) {
- // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw
- headers.accept = headers.accept
- .split(/,/)
- .map((preview) => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))
- .join(",");
- }
- if (options.mediaType.previews.length) {
- const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
- headers.accept = previewsFromAcceptHeader
- .concat(options.mediaType.previews)
- .map((preview) => {
- const format = options.mediaType.format
- ? `.${options.mediaType.format}`
- : "+json";
- return `application/vnd.github.${preview}-preview${format}`;
- })
- .join(",");
- }
+ if (url.endsWith("/graphql")) {
+ if (options.mediaType.previews?.length) {
+ const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
+ headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {
+ const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
+ return `application/vnd.github.${preview}-preview${format}`;
+ }).join(",");
+ }
}
- // for GET/HEAD requests, set URL query parameters from remaining parameters
- // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters
- if (["GET", "HEAD"].includes(method)) {
- url = addQueryParameters(url, remainingParameters);
+ }
+ if (["GET", "HEAD"].includes(method)) {
+ url = addQueryParameters(url, remainingParameters);
+ } else {
+ if ("data" in remainingParameters) {
+ body = remainingParameters.data;
+ } else {
+ if (Object.keys(remainingParameters).length) {
+ body = remainingParameters;
+ }
}
- else {
- if ("data" in remainingParameters) {
- body = remainingParameters.data;
- }
- else {
- if (Object.keys(remainingParameters).length) {
- body = remainingParameters;
- }
- else {
- headers["content-length"] = 0;
- }
- }
- }
- // default content-type for JSON if body is set
- if (!headers["content-type"] && typeof body !== "undefined") {
- headers["content-type"] = "application/json; charset=utf-8";
- }
- // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.
- // fetch does not allow to set `content-length` header, but we can set body to an empty string
- if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
- body = "";
- }
- // Only return body/request keys if present
- return Object.assign({ method, url, headers }, typeof body !== "undefined" ? { body } : null, options.request ? { request: options.request } : null);
+ }
+ if (!headers["content-type"] && typeof body !== "undefined") {
+ headers["content-type"] = "application/json; charset=utf-8";
+ }
+ if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
+ body = "";
+ }
+ return Object.assign(
+ { method, url, headers },
+ typeof body !== "undefined" ? { body } : null,
+ options.request ? { request: options.request } : null
+ );
}
+export {
+ parse
+};
diff --git a/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js b/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js
index d26be314..6bdf7367 100644
--- a/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js
+++ b/node_modules/@octokit/endpoint/dist-src/util/add-query-parameters.js
@@ -1,17 +1,16 @@
-export function addQueryParameters(url, parameters) {
- const separator = /\?/.test(url) ? "&" : "?";
- const names = Object.keys(parameters);
- if (names.length === 0) {
- return url;
+function addQueryParameters(url, parameters) {
+ const separator = /\?/.test(url) ? "&" : "?";
+ const names = Object.keys(parameters);
+ if (names.length === 0) {
+ return url;
+ }
+ return url + separator + names.map((name) => {
+ if (name === "q") {
+ return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
}
- return (url +
- separator +
- names
- .map((name) => {
- if (name === "q") {
- return ("q=" + parameters.q.split("+").map(encodeURIComponent).join("+"));
- }
- return `${name}=${encodeURIComponent(parameters[name])}`;
- })
- .join("&"));
+ return `${name}=${encodeURIComponent(parameters[name])}`;
+ }).join("&");
}
+export {
+ addQueryParameters
+};
diff --git a/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js b/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js
index 3e75db28..1d75bb91 100644
--- a/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js
+++ b/node_modules/@octokit/endpoint/dist-src/util/extract-url-variable-names.js
@@ -1,11 +1,14 @@
const urlVariableRegex = /\{[^}]+\}/g;
function removeNonChars(variableName) {
- return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
+ return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
}
-export function extractUrlVariableNames(url) {
- const matches = url.match(urlVariableRegex);
- if (!matches) {
- return [];
- }
- return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
+function extractUrlVariableNames(url) {
+ const matches = url.match(urlVariableRegex);
+ if (!matches) {
+ return [];
+ }
+ return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
}
+export {
+ extractUrlVariableNames
+};
diff --git a/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js b/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js
new file mode 100644
index 00000000..44b5eb2a
--- /dev/null
+++ b/node_modules/@octokit/endpoint/dist-src/util/is-plain-object.js
@@ -0,0 +1,14 @@
+function isPlainObject(value) {
+ if (typeof value !== "object" || value === null)
+ return false;
+ if (Object.prototype.toString.call(value) !== "[object Object]")
+ return false;
+ const proto = Object.getPrototypeOf(value);
+ if (proto === null)
+ return true;
+ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
+ return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
+}
+export {
+ isPlainObject
+};
diff --git a/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js b/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js
index 07806425..9bd7bb99 100644
--- a/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js
+++ b/node_modules/@octokit/endpoint/dist-src/util/lowercase-keys.js
@@ -1,9 +1,12 @@
-export function lowercaseKeys(object) {
- if (!object) {
- return {};
- }
- return Object.keys(object).reduce((newObj, key) => {
- newObj[key.toLowerCase()] = object[key];
- return newObj;
- }, {});
+function lowercaseKeys(object) {
+ if (!object) {
+ return {};
+ }
+ return Object.keys(object).reduce((newObj, key) => {
+ newObj[key.toLowerCase()] = object[key];
+ return newObj;
+ }, {});
}
+export {
+ lowercaseKeys
+};
diff --git a/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js b/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js
index d92aca35..c1654456 100644
--- a/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js
+++ b/node_modules/@octokit/endpoint/dist-src/util/merge-deep.js
@@ -1,16 +1,18 @@
-import { isPlainObject } from "is-plain-object";
-export function mergeDeep(defaults, options) {
- const result = Object.assign({}, defaults);
- Object.keys(options).forEach((key) => {
- if (isPlainObject(options[key])) {
- if (!(key in defaults))
- Object.assign(result, { [key]: options[key] });
- else
- result[key] = mergeDeep(defaults[key], options[key]);
- }
- else {
- Object.assign(result, { [key]: options[key] });
- }
- });
- return result;
+import { isPlainObject } from "./is-plain-object";
+function mergeDeep(defaults, options) {
+ const result = Object.assign({}, defaults);
+ Object.keys(options).forEach((key) => {
+ if (isPlainObject(options[key])) {
+ if (!(key in defaults))
+ Object.assign(result, { [key]: options[key] });
+ else
+ result[key] = mergeDeep(defaults[key], options[key]);
+ } else {
+ Object.assign(result, { [key]: options[key] });
+ }
+ });
+ return result;
}
+export {
+ mergeDeep
+};
diff --git a/node_modules/@octokit/endpoint/dist-src/util/omit.js b/node_modules/@octokit/endpoint/dist-src/util/omit.js
index 62450310..aceffe25 100644
--- a/node_modules/@octokit/endpoint/dist-src/util/omit.js
+++ b/node_modules/@octokit/endpoint/dist-src/util/omit.js
@@ -1,8 +1,12 @@
-export function omit(object, keysToOmit) {
- return Object.keys(object)
- .filter((option) => !keysToOmit.includes(option))
- .reduce((obj, key) => {
- obj[key] = object[key];
- return obj;
- }, {});
+function omit(object, keysToOmit) {
+ const result = { __proto__: null };
+ for (const key of Object.keys(object)) {
+ if (keysToOmit.indexOf(key) === -1) {
+ result[key] = object[key];
+ }
+ }
+ return result;
}
+export {
+ omit
+};
diff --git a/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js b/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js
index 6b5ee5fb..8653027c 100644
--- a/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js
+++ b/node_modules/@octokit/endpoint/dist-src/util/remove-undefined-properties.js
@@ -1,8 +1,11 @@
-export function removeUndefinedProperties(obj) {
- for (const key in obj) {
- if (obj[key] === undefined) {
- delete obj[key];
- }
+function removeUndefinedProperties(obj) {
+ for (const key in obj) {
+ if (obj[key] === void 0) {
+ delete obj[key];
}
- return obj;
+ }
+ return obj;
}
+export {
+ removeUndefinedProperties
+};
diff --git a/node_modules/@octokit/endpoint/dist-src/util/url-template.js b/node_modules/@octokit/endpoint/dist-src/util/url-template.js
index 439b3fee..f70aa5c7 100644
--- a/node_modules/@octokit/endpoint/dist-src/util/url-template.js
+++ b/node_modules/@octokit/endpoint/dist-src/util/url-template.js
@@ -1,164 +1,133 @@
-// Based on https://github.com/bramstein/url-template, licensed under BSD
-// TODO: create separate package.
-//
-// Copyright (c) 2012-2014, Bram Stein
-// All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-// 3. The name of the author may not be used to endorse or promote products
-// derived from this software without specific prior written permission.
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
-// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-/* istanbul ignore file */
function encodeReserved(str) {
- return str
- .split(/(%[0-9A-Fa-f]{2})/g)
- .map(function (part) {
- if (!/%[0-9A-Fa-f]/.test(part)) {
- part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
- }
- return part;
- })
- .join("");
+ return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
+ if (!/%[0-9A-Fa-f]/.test(part)) {
+ part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
+ }
+ return part;
+ }).join("");
}
function encodeUnreserved(str) {
- return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {
- return "%" + c.charCodeAt(0).toString(16).toUpperCase();
- });
+ return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
+ return "%" + c.charCodeAt(0).toString(16).toUpperCase();
+ });
}
function encodeValue(operator, value, key) {
- value =
- operator === "+" || operator === "#"
- ? encodeReserved(value)
- : encodeUnreserved(value);
- if (key) {
- return encodeUnreserved(key) + "=" + value;
- }
- else {
- return value;
- }
+ value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
+ if (key) {
+ return encodeUnreserved(key) + "=" + value;
+ } else {
+ return value;
+ }
}
function isDefined(value) {
- return value !== undefined && value !== null;
+ return value !== void 0 && value !== null;
}
function isKeyOperator(operator) {
- return operator === ";" || operator === "&" || operator === "?";
+ return operator === ";" || operator === "&" || operator === "?";
}
function getValues(context, operator, key, modifier) {
- var value = context[key], result = [];
- if (isDefined(value) && value !== "") {
- if (typeof value === "string" ||
- typeof value === "number" ||
- typeof value === "boolean") {
- value = value.toString();
- if (modifier && modifier !== "*") {
- value = value.substring(0, parseInt(modifier, 10));
- }
- result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : ""));
- }
- else {
- if (modifier === "*") {
- if (Array.isArray(value)) {
- value.filter(isDefined).forEach(function (value) {
- result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : ""));
- });
- }
- else {
- Object.keys(value).forEach(function (k) {
- if (isDefined(value[k])) {
- result.push(encodeValue(operator, value[k], k));
- }
- });
- }
- }
- else {
- const tmp = [];
- if (Array.isArray(value)) {
- value.filter(isDefined).forEach(function (value) {
- tmp.push(encodeValue(operator, value));
- });
- }
- else {
- Object.keys(value).forEach(function (k) {
- if (isDefined(value[k])) {
- tmp.push(encodeUnreserved(k));
- tmp.push(encodeValue(operator, value[k].toString()));
- }
- });
- }
- if (isKeyOperator(operator)) {
- result.push(encodeUnreserved(key) + "=" + tmp.join(","));
- }
- else if (tmp.length !== 0) {
- result.push(tmp.join(","));
- }
+ var value = context[key], result = [];
+ if (isDefined(value) && value !== "") {
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
+ value = value.toString();
+ if (modifier && modifier !== "*") {
+ value = value.substring(0, parseInt(modifier, 10));
+ }
+ result.push(
+ encodeValue(operator, value, isKeyOperator(operator) ? key : "")
+ );
+ } else {
+ if (modifier === "*") {
+ if (Array.isArray(value)) {
+ value.filter(isDefined).forEach(function(value2) {
+ result.push(
+ encodeValue(operator, value2, isKeyOperator(operator) ? key : "")
+ );
+ });
+ } else {
+ Object.keys(value).forEach(function(k) {
+ if (isDefined(value[k])) {
+ result.push(encodeValue(operator, value[k], k));
}
+ });
}
- }
- else {
- if (operator === ";") {
- if (isDefined(value)) {
- result.push(encodeUnreserved(key));
+ } else {
+ const tmp = [];
+ if (Array.isArray(value)) {
+ value.filter(isDefined).forEach(function(value2) {
+ tmp.push(encodeValue(operator, value2));
+ });
+ } else {
+ Object.keys(value).forEach(function(k) {
+ if (isDefined(value[k])) {
+ tmp.push(encodeUnreserved(k));
+ tmp.push(encodeValue(operator, value[k].toString()));
}
+ });
}
- else if (value === "" && (operator === "&" || operator === "?")) {
- result.push(encodeUnreserved(key) + "=");
- }
- else if (value === "") {
- result.push("");
+ if (isKeyOperator(operator)) {
+ result.push(encodeUnreserved(key) + "=" + tmp.join(","));
+ } else if (tmp.length !== 0) {
+ result.push(tmp.join(","));
}
+ }
}
- return result;
+ } else {
+ if (operator === ";") {
+ if (isDefined(value)) {
+ result.push(encodeUnreserved(key));
+ }
+ } else if (value === "" && (operator === "&" || operator === "?")) {
+ result.push(encodeUnreserved(key) + "=");
+ } else if (value === "") {
+ result.push("");
+ }
+ }
+ return result;
}
-export function parseUrl(template) {
- return {
- expand: expand.bind(null, template),
- };
+function parseUrl(template) {
+ return {
+ expand: expand.bind(null, template)
+ };
}
function expand(template, context) {
- var operators = ["+", "#", ".", "/", ";", "?", "&"];
- return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) {
- if (expression) {
- let operator = "";
- const values = [];
- if (operators.indexOf(expression.charAt(0)) !== -1) {
- operator = expression.charAt(0);
- expression = expression.substr(1);
- }
- expression.split(/,/g).forEach(function (variable) {
- var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
- values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
- });
- if (operator && operator !== "+") {
- var separator = ",";
- if (operator === "?") {
- separator = "&";
- }
- else if (operator !== "#") {
- separator = operator;
- }
- return (values.length !== 0 ? operator : "") + values.join(separator);
- }
- else {
- return values.join(",");
- }
+ var operators = ["+", "#", ".", "/", ";", "?", "&"];
+ template = template.replace(
+ /\{([^\{\}]+)\}|([^\{\}]+)/g,
+ function(_, expression, literal) {
+ if (expression) {
+ let operator = "";
+ const values = [];
+ if (operators.indexOf(expression.charAt(0)) !== -1) {
+ operator = expression.charAt(0);
+ expression = expression.substr(1);
}
- else {
- return encodeReserved(literal);
+ expression.split(/,/g).forEach(function(variable) {
+ var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
+ values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
+ });
+ if (operator && operator !== "+") {
+ var separator = ",";
+ if (operator === "?") {
+ separator = "&";
+ } else if (operator !== "#") {
+ separator = operator;
+ }
+ return (values.length !== 0 ? operator : "") + values.join(separator);
+ } else {
+ return values.join(",");
}
- });
+ } else {
+ return encodeReserved(literal);
+ }
+ }
+ );
+ if (template === "/") {
+ return template;
+ } else {
+ return template.replace(/\/$/, "");
+ }
}
+export {
+ parseUrl
+};
diff --git a/node_modules/@octokit/endpoint/dist-src/version.js b/node_modules/@octokit/endpoint/dist-src/version.js
index 930e2557..f3dacfaf 100644
--- a/node_modules/@octokit/endpoint/dist-src/version.js
+++ b/node_modules/@octokit/endpoint/dist-src/version.js
@@ -1 +1,4 @@
-export const VERSION = "6.0.12";
+const VERSION = "9.0.4";
+export {
+ VERSION
+};
diff --git a/node_modules/@octokit/endpoint/dist-src/with-defaults.js b/node_modules/@octokit/endpoint/dist-src/with-defaults.js
index 81baf6cf..6d508f03 100644
--- a/node_modules/@octokit/endpoint/dist-src/with-defaults.js
+++ b/node_modules/@octokit/endpoint/dist-src/with-defaults.js
@@ -1,13 +1,16 @@
import { endpointWithDefaults } from "./endpoint-with-defaults";
import { merge } from "./merge";
import { parse } from "./parse";
-export function withDefaults(oldDefaults, newDefaults) {
- const DEFAULTS = merge(oldDefaults, newDefaults);
- const endpoint = endpointWithDefaults.bind(null, DEFAULTS);
- return Object.assign(endpoint, {
- DEFAULTS,
- defaults: withDefaults.bind(null, DEFAULTS),
- merge: merge.bind(null, DEFAULTS),
- parse,
- });
+function withDefaults(oldDefaults, newDefaults) {
+ const DEFAULTS = merge(oldDefaults, newDefaults);
+ const endpoint = endpointWithDefaults.bind(null, DEFAULTS);
+ return Object.assign(endpoint, {
+ DEFAULTS,
+ defaults: withDefaults.bind(null, DEFAULTS),
+ merge: merge.bind(null, DEFAULTS),
+ parse
+ });
}
+export {
+ withDefaults
+};
diff --git a/node_modules/@octokit/endpoint/dist-types/defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/defaults.d.ts
index 30fcd203..d65e889b 100644
--- a/node_modules/@octokit/endpoint/dist-types/defaults.d.ts
+++ b/node_modules/@octokit/endpoint/dist-types/defaults.d.ts
@@ -1,2 +1,2 @@
-import { EndpointDefaults } from "@octokit/types";
+import type { EndpointDefaults } from "@octokit/types";
export declare const DEFAULTS: EndpointDefaults;
diff --git a/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts
index ff39e5e7..c36732e9 100644
--- a/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts
+++ b/node_modules/@octokit/endpoint/dist-types/endpoint-with-defaults.d.ts
@@ -1,3 +1,3 @@
-import { EndpointOptions, RequestParameters, Route } from "@octokit/types";
+import type { EndpointOptions, RequestParameters, Route } from "@octokit/types";
import { DEFAULTS } from "./defaults";
export declare function endpointWithDefaults(defaults: typeof DEFAULTS, route: Route | EndpointOptions, options?: RequestParameters): import("@octokit/types").RequestOptions;
diff --git a/node_modules/@octokit/endpoint/dist-types/merge.d.ts b/node_modules/@octokit/endpoint/dist-types/merge.d.ts
index b75a15ec..f5839812 100644
--- a/node_modules/@octokit/endpoint/dist-types/merge.d.ts
+++ b/node_modules/@octokit/endpoint/dist-types/merge.d.ts
@@ -1,2 +1,2 @@
-import { EndpointDefaults, RequestParameters, Route } from "@octokit/types";
+import type { EndpointDefaults, RequestParameters, Route } from "@octokit/types";
export declare function merge(defaults: EndpointDefaults | null, route?: Route | RequestParameters, options?: RequestParameters): EndpointDefaults;
diff --git a/node_modules/@octokit/endpoint/dist-types/parse.d.ts b/node_modules/@octokit/endpoint/dist-types/parse.d.ts
index fbe21440..5d0927ae 100644
--- a/node_modules/@octokit/endpoint/dist-types/parse.d.ts
+++ b/node_modules/@octokit/endpoint/dist-types/parse.d.ts
@@ -1,2 +1,2 @@
-import { EndpointDefaults, RequestOptions } from "@octokit/types";
+import type { EndpointDefaults, RequestOptions } from "@octokit/types";
export declare function parse(options: EndpointDefaults): RequestOptions;
diff --git a/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts b/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts
new file mode 100644
index 00000000..004fa4bf
--- /dev/null
+++ b/node_modules/@octokit/endpoint/dist-types/util/is-plain-object.d.ts
@@ -0,0 +1 @@
+export declare function isPlainObject(value: unknown): value is Object;
diff --git a/node_modules/@octokit/endpoint/dist-types/version.d.ts b/node_modules/@octokit/endpoint/dist-types/version.d.ts
index 330d47ae..6fe73ae6 100644
--- a/node_modules/@octokit/endpoint/dist-types/version.d.ts
+++ b/node_modules/@octokit/endpoint/dist-types/version.d.ts
@@ -1 +1 @@
-export declare const VERSION = "6.0.12";
+export declare const VERSION = "9.0.4";
diff --git a/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts b/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts
index 6f5afd1e..e09354c5 100644
--- a/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts
+++ b/node_modules/@octokit/endpoint/dist-types/with-defaults.d.ts
@@ -1,2 +1,2 @@
-import { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types";
+import type { EndpointInterface, RequestParameters, EndpointDefaults } from "@octokit/types";
export declare function withDefaults(oldDefaults: EndpointDefaults | null, newDefaults: RequestParameters): EndpointInterface;
diff --git a/node_modules/@octokit/endpoint/dist-web/index.js b/node_modules/@octokit/endpoint/dist-web/index.js
index e1521639..3ef99a57 100644
--- a/node_modules/@octokit/endpoint/dist-web/index.js
+++ b/node_modules/@octokit/endpoint/dist-web/index.js
@@ -1,381 +1,351 @@
-import { isPlainObject } from 'is-plain-object';
-import { getUserAgent } from 'universal-user-agent';
+// pkg/dist-src/defaults.js
+import { getUserAgent } from "universal-user-agent";
+// pkg/dist-src/version.js
+var VERSION = "9.0.4";
+
+// pkg/dist-src/defaults.js
+var userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;
+var DEFAULTS = {
+ method: "GET",
+ baseUrl: "https://api.github.com",
+ headers: {
+ accept: "application/vnd.github.v3+json",
+ "user-agent": userAgent
+ },
+ mediaType: {
+ format: ""
+ }
+};
+
+// pkg/dist-src/util/lowercase-keys.js
function lowercaseKeys(object) {
- if (!object) {
- return {};
- }
- return Object.keys(object).reduce((newObj, key) => {
- newObj[key.toLowerCase()] = object[key];
- return newObj;
- }, {});
+ if (!object) {
+ return {};
+ }
+ return Object.keys(object).reduce((newObj, key) => {
+ newObj[key.toLowerCase()] = object[key];
+ return newObj;
+ }, {});
+}
+
+// pkg/dist-src/util/is-plain-object.js
+function isPlainObject(value) {
+ if (typeof value !== "object" || value === null)
+ return false;
+ if (Object.prototype.toString.call(value) !== "[object Object]")
+ return false;
+ const proto = Object.getPrototypeOf(value);
+ if (proto === null)
+ return true;
+ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
+ return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
}
+// pkg/dist-src/util/merge-deep.js
function mergeDeep(defaults, options) {
- const result = Object.assign({}, defaults);
- Object.keys(options).forEach((key) => {
- if (isPlainObject(options[key])) {
- if (!(key in defaults))
- Object.assign(result, { [key]: options[key] });
- else
- result[key] = mergeDeep(defaults[key], options[key]);
- }
- else {
- Object.assign(result, { [key]: options[key] });
- }
- });
- return result;
+ const result = Object.assign({}, defaults);
+ Object.keys(options).forEach((key) => {
+ if (isPlainObject(options[key])) {
+ if (!(key in defaults))
+ Object.assign(result, { [key]: options[key] });
+ else
+ result[key] = mergeDeep(defaults[key], options[key]);
+ } else {
+ Object.assign(result, { [key]: options[key] });
+ }
+ });
+ return result;
}
+// pkg/dist-src/util/remove-undefined-properties.js
function removeUndefinedProperties(obj) {
- for (const key in obj) {
- if (obj[key] === undefined) {
- delete obj[key];
- }
+ for (const key in obj) {
+ if (obj[key] === void 0) {
+ delete obj[key];
}
- return obj;
+ }
+ return obj;
}
+// pkg/dist-src/merge.js
function merge(defaults, route, options) {
- if (typeof route === "string") {
- let [method, url] = route.split(" ");
- options = Object.assign(url ? { method, url } : { url: method }, options);
- }
- else {
- options = Object.assign({}, route);
+ if (typeof route === "string") {
+ let [method, url] = route.split(" ");
+ options = Object.assign(url ? { method, url } : { url: method }, options);
+ } else {
+ options = Object.assign({}, route);
+ }
+ options.headers = lowercaseKeys(options.headers);
+ removeUndefinedProperties(options);
+ removeUndefinedProperties(options.headers);
+ const mergedOptions = mergeDeep(defaults || {}, options);
+ if (options.url === "/graphql") {
+ if (defaults && defaults.mediaType.previews?.length) {
+ mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(
+ (preview) => !mergedOptions.mediaType.previews.includes(preview)
+ ).concat(mergedOptions.mediaType.previews);
}
- // lowercase header names before merging with defaults to avoid duplicates
- options.headers = lowercaseKeys(options.headers);
- // remove properties with undefined values before merging
- removeUndefinedProperties(options);
- removeUndefinedProperties(options.headers);
- const mergedOptions = mergeDeep(defaults || {}, options);
- // mediaType.previews arrays are merged, instead of overwritten
- if (defaults && defaults.mediaType.previews.length) {
- mergedOptions.mediaType.previews = defaults.mediaType.previews
- .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))
- .concat(mergedOptions.mediaType.previews);
- }
- mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, ""));
- return mergedOptions;
+ mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
+ }
+ return mergedOptions;
}
+// pkg/dist-src/util/add-query-parameters.js
function addQueryParameters(url, parameters) {
- const separator = /\?/.test(url) ? "&" : "?";
- const names = Object.keys(parameters);
- if (names.length === 0) {
- return url;
+ const separator = /\?/.test(url) ? "&" : "?";
+ const names = Object.keys(parameters);
+ if (names.length === 0) {
+ return url;
+ }
+ return url + separator + names.map((name) => {
+ if (name === "q") {
+ return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
}
- return (url +
- separator +
- names
- .map((name) => {
- if (name === "q") {
- return ("q=" + parameters.q.split("+").map(encodeURIComponent).join("+"));
- }
- return `${name}=${encodeURIComponent(parameters[name])}`;
- })
- .join("&"));
+ return `${name}=${encodeURIComponent(parameters[name])}`;
+ }).join("&");
}
-const urlVariableRegex = /\{[^}]+\}/g;
+// pkg/dist-src/util/extract-url-variable-names.js
+var urlVariableRegex = /\{[^}]+\}/g;
function removeNonChars(variableName) {
- return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
+ return variableName.replace(/^\W+|\W+$/g, "").split(/,/);
}
function extractUrlVariableNames(url) {
- const matches = url.match(urlVariableRegex);
- if (!matches) {
- return [];
- }
- return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
+ const matches = url.match(urlVariableRegex);
+ if (!matches) {
+ return [];
+ }
+ return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
}
+// pkg/dist-src/util/omit.js
function omit(object, keysToOmit) {
- return Object.keys(object)
- .filter((option) => !keysToOmit.includes(option))
- .reduce((obj, key) => {
- obj[key] = object[key];
- return obj;
- }, {});
+ const result = { __proto__: null };
+ for (const key of Object.keys(object)) {
+ if (keysToOmit.indexOf(key) === -1) {
+ result[key] = object[key];
+ }
+ }
+ return result;
}
-// Based on https://github.com/bramstein/url-template, licensed under BSD
-// TODO: create separate package.
-//
-// Copyright (c) 2012-2014, Bram Stein
-// All rights reserved.
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-// 3. The name of the author may not be used to endorse or promote products
-// derived from this software without specific prior written permission.
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
-// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-/* istanbul ignore file */
+// pkg/dist-src/util/url-template.js
function encodeReserved(str) {
- return str
- .split(/(%[0-9A-Fa-f]{2})/g)
- .map(function (part) {
- if (!/%[0-9A-Fa-f]/.test(part)) {
- part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
- }
- return part;
- })
- .join("");
+ return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
+ if (!/%[0-9A-Fa-f]/.test(part)) {
+ part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
+ }
+ return part;
+ }).join("");
}
function encodeUnreserved(str) {
- return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {
- return "%" + c.charCodeAt(0).toString(16).toUpperCase();
- });
+ return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
+ return "%" + c.charCodeAt(0).toString(16).toUpperCase();
+ });
}
function encodeValue(operator, value, key) {
- value =
- operator === "+" || operator === "#"
- ? encodeReserved(value)
- : encodeUnreserved(value);
- if (key) {
- return encodeUnreserved(key) + "=" + value;
- }
- else {
- return value;
- }
+ value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
+ if (key) {
+ return encodeUnreserved(key) + "=" + value;
+ } else {
+ return value;
+ }
}
function isDefined(value) {
- return value !== undefined && value !== null;
+ return value !== void 0 && value !== null;
}
function isKeyOperator(operator) {
- return operator === ";" || operator === "&" || operator === "?";
+ return operator === ";" || operator === "&" || operator === "?";
}
function getValues(context, operator, key, modifier) {
- var value = context[key], result = [];
- if (isDefined(value) && value !== "") {
- if (typeof value === "string" ||
- typeof value === "number" ||
- typeof value === "boolean") {
- value = value.toString();
- if (modifier && modifier !== "*") {
- value = value.substring(0, parseInt(modifier, 10));
+ var value = context[key], result = [];
+ if (isDefined(value) && value !== "") {
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
+ value = value.toString();
+ if (modifier && modifier !== "*") {
+ value = value.substring(0, parseInt(modifier, 10));
+ }
+ result.push(
+ encodeValue(operator, value, isKeyOperator(operator) ? key : "")
+ );
+ } else {
+ if (modifier === "*") {
+ if (Array.isArray(value)) {
+ value.filter(isDefined).forEach(function(value2) {
+ result.push(
+ encodeValue(operator, value2, isKeyOperator(operator) ? key : "")
+ );
+ });
+ } else {
+ Object.keys(value).forEach(function(k) {
+ if (isDefined(value[k])) {
+ result.push(encodeValue(operator, value[k], k));
}
- result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : ""));
+ });
}
- else {
- if (modifier === "*") {
- if (Array.isArray(value)) {
- value.filter(isDefined).forEach(function (value) {
- result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : ""));
- });
- }
- else {
- Object.keys(value).forEach(function (k) {
- if (isDefined(value[k])) {
- result.push(encodeValue(operator, value[k], k));
- }
- });
- }
- }
- else {
- const tmp = [];
- if (Array.isArray(value)) {
- value.filter(isDefined).forEach(function (value) {
- tmp.push(encodeValue(operator, value));
- });
- }
- else {
- Object.keys(value).forEach(function (k) {
- if (isDefined(value[k])) {
- tmp.push(encodeUnreserved(k));
- tmp.push(encodeValue(operator, value[k].toString()));
- }
- });
- }
- if (isKeyOperator(operator)) {
- result.push(encodeUnreserved(key) + "=" + tmp.join(","));
- }
- else if (tmp.length !== 0) {
- result.push(tmp.join(","));
- }
+ } else {
+ const tmp = [];
+ if (Array.isArray(value)) {
+ value.filter(isDefined).forEach(function(value2) {
+ tmp.push(encodeValue(operator, value2));
+ });
+ } else {
+ Object.keys(value).forEach(function(k) {
+ if (isDefined(value[k])) {
+ tmp.push(encodeUnreserved(k));
+ tmp.push(encodeValue(operator, value[k].toString()));
}
+ });
}
- }
- else {
- if (operator === ";") {
- if (isDefined(value)) {
- result.push(encodeUnreserved(key));
- }
- }
- else if (value === "" && (operator === "&" || operator === "?")) {
- result.push(encodeUnreserved(key) + "=");
- }
- else if (value === "") {
- result.push("");
+ if (isKeyOperator(operator)) {
+ result.push(encodeUnreserved(key) + "=" + tmp.join(","));
+ } else if (tmp.length !== 0) {
+ result.push(tmp.join(","));
}
+ }
}
- return result;
+ } else {
+ if (operator === ";") {
+ if (isDefined(value)) {
+ result.push(encodeUnreserved(key));
+ }
+ } else if (value === "" && (operator === "&" || operator === "?")) {
+ result.push(encodeUnreserved(key) + "=");
+ } else if (value === "") {
+ result.push("");
+ }
+ }
+ return result;
}
function parseUrl(template) {
- return {
- expand: expand.bind(null, template),
- };
+ return {
+ expand: expand.bind(null, template)
+ };
}
function expand(template, context) {
- var operators = ["+", "#", ".", "/", ";", "?", "&"];
- return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) {
- if (expression) {
- let operator = "";
- const values = [];
- if (operators.indexOf(expression.charAt(0)) !== -1) {
- operator = expression.charAt(0);
- expression = expression.substr(1);
- }
- expression.split(/,/g).forEach(function (variable) {
- var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
- values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
- });
- if (operator && operator !== "+") {
- var separator = ",";
- if (operator === "?") {
- separator = "&";
- }
- else if (operator !== "#") {
- separator = operator;
- }
- return (values.length !== 0 ? operator : "") + values.join(separator);
- }
- else {
- return values.join(",");
- }
+ var operators = ["+", "#", ".", "/", ";", "?", "&"];
+ template = template.replace(
+ /\{([^\{\}]+)\}|([^\{\}]+)/g,
+ function(_, expression, literal) {
+ if (expression) {
+ let operator = "";
+ const values = [];
+ if (operators.indexOf(expression.charAt(0)) !== -1) {
+ operator = expression.charAt(0);
+ expression = expression.substr(1);
}
- else {
- return encodeReserved(literal);
+ expression.split(/,/g).forEach(function(variable) {
+ var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
+ values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
+ });
+ if (operator && operator !== "+") {
+ var separator = ",";
+ if (operator === "?") {
+ separator = "&";
+ } else if (operator !== "#") {
+ separator = operator;
+ }
+ return (values.length !== 0 ? operator : "") + values.join(separator);
+ } else {
+ return values.join(",");
}
- });
+ } else {
+ return encodeReserved(literal);
+ }
+ }
+ );
+ if (template === "/") {
+ return template;
+ } else {
+ return template.replace(/\/$/, "");
+ }
}
+// pkg/dist-src/parse.js
function parse(options) {
- // https://fetch.spec.whatwg.org/#methods
- let method = options.method.toUpperCase();
- // replace :varname with {varname} to make it RFC 6570 compatible
- let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
- let headers = Object.assign({}, options.headers);
- let body;
- let parameters = omit(options, [
- "method",
- "baseUrl",
- "url",
- "headers",
- "request",
- "mediaType",
- ]);
- // extract variable names from URL to calculate remaining variables later
- const urlVariableNames = extractUrlVariableNames(url);
- url = parseUrl(url).expand(parameters);
- if (!/^http/.test(url)) {
- url = options.baseUrl + url;
- }
- const omittedParameters = Object.keys(options)
- .filter((option) => urlVariableNames.includes(option))
- .concat("baseUrl");
- const remainingParameters = omit(parameters, omittedParameters);
- const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
- if (!isBinaryRequest) {
- if (options.mediaType.format) {
- // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw
- headers.accept = headers.accept
- .split(/,/)
- .map((preview) => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))
- .join(",");
- }
- if (options.mediaType.previews.length) {
- const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
- headers.accept = previewsFromAcceptHeader
- .concat(options.mediaType.previews)
- .map((preview) => {
- const format = options.mediaType.format
- ? `.${options.mediaType.format}`
- : "+json";
- return `application/vnd.github.${preview}-preview${format}`;
- })
- .join(",");
- }
- }
- // for GET/HEAD requests, set URL query parameters from remaining parameters
- // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters
- if (["GET", "HEAD"].includes(method)) {
- url = addQueryParameters(url, remainingParameters);
- }
- else {
- if ("data" in remainingParameters) {
- body = remainingParameters.data;
- }
- else {
- if (Object.keys(remainingParameters).length) {
- body = remainingParameters;
- }
- else {
- headers["content-length"] = 0;
- }
- }
+ let method = options.method.toUpperCase();
+ let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
+ let headers = Object.assign({}, options.headers);
+ let body;
+ let parameters = omit(options, [
+ "method",
+ "baseUrl",
+ "url",
+ "headers",
+ "request",
+ "mediaType"
+ ]);
+ const urlVariableNames = extractUrlVariableNames(url);
+ url = parseUrl(url).expand(parameters);
+ if (!/^http/.test(url)) {
+ url = options.baseUrl + url;
+ }
+ const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
+ const remainingParameters = omit(parameters, omittedParameters);
+ const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
+ if (!isBinaryRequest) {
+ if (options.mediaType.format) {
+ headers.accept = headers.accept.split(/,/).map(
+ (format) => format.replace(
+ /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
+ `application/vnd$1$2.${options.mediaType.format}`
+ )
+ ).join(",");
}
- // default content-type for JSON if body is set
- if (!headers["content-type"] && typeof body !== "undefined") {
- headers["content-type"] = "application/json; charset=utf-8";
+ if (url.endsWith("/graphql")) {
+ if (options.mediaType.previews?.length) {
+ const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || [];
+ headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {
+ const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
+ return `application/vnd.github.${preview}-preview${format}`;
+ }).join(",");
+ }
}
- // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.
- // fetch does not allow to set `content-length` header, but we can set body to an empty string
- if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
- body = "";
+ }
+ if (["GET", "HEAD"].includes(method)) {
+ url = addQueryParameters(url, remainingParameters);
+ } else {
+ if ("data" in remainingParameters) {
+ body = remainingParameters.data;
+ } else {
+ if (Object.keys(remainingParameters).length) {
+ body = remainingParameters;
+ }
}
- // Only return body/request keys if present
- return Object.assign({ method, url, headers }, typeof body !== "undefined" ? { body } : null, options.request ? { request: options.request } : null);
+ }
+ if (!headers["content-type"] && typeof body !== "undefined") {
+ headers["content-type"] = "application/json; charset=utf-8";
+ }
+ if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
+ body = "";
+ }
+ return Object.assign(
+ { method, url, headers },
+ typeof body !== "undefined" ? { body } : null,
+ options.request ? { request: options.request } : null
+ );
}
+// pkg/dist-src/endpoint-with-defaults.js
function endpointWithDefaults(defaults, route, options) {
- return parse(merge(defaults, route, options));
+ return parse(merge(defaults, route, options));
}
+// pkg/dist-src/with-defaults.js
function withDefaults(oldDefaults, newDefaults) {
- const DEFAULTS = merge(oldDefaults, newDefaults);
- const endpoint = endpointWithDefaults.bind(null, DEFAULTS);
- return Object.assign(endpoint, {
- DEFAULTS,
- defaults: withDefaults.bind(null, DEFAULTS),
- merge: merge.bind(null, DEFAULTS),
- parse,
- });
+ const DEFAULTS2 = merge(oldDefaults, newDefaults);
+ const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);
+ return Object.assign(endpoint2, {
+ DEFAULTS: DEFAULTS2,
+ defaults: withDefaults.bind(null, DEFAULTS2),
+ merge: merge.bind(null, DEFAULTS2),
+ parse
+ });
}
-const VERSION = "6.0.12";
-
-const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;
-// DEFAULTS has all properties set that EndpointOptions has, except url.
-// So we use RequestParameters and add method as additional required property.
-const DEFAULTS = {
- method: "GET",
- baseUrl: "https://api.github.com",
- headers: {
- accept: "application/vnd.github.v3+json",
- "user-agent": userAgent,
- },
- mediaType: {
- format: "",
- previews: [],
- },
+// pkg/dist-src/index.js
+var endpoint = withDefaults(null, DEFAULTS);
+export {
+ endpoint
};
-
-const endpoint = withDefaults(null, DEFAULTS);
-
-export { endpoint };
-//# sourceMappingURL=index.js.map
diff --git a/node_modules/@octokit/endpoint/dist-web/index.js.map b/node_modules/@octokit/endpoint/dist-web/index.js.map
index 1d60d026..95eb255b 100644
--- a/node_modules/@octokit/endpoint/dist-web/index.js.map
+++ b/node_modules/@octokit/endpoint/dist-web/index.js.map
@@ -1 +1,7 @@
-{"version":3,"file":"index.js","sources":["../dist-src/util/lowercase-keys.js","../dist-src/util/merge-deep.js","../dist-src/util/remove-undefined-properties.js","../dist-src/merge.js","../dist-src/util/add-query-parameters.js","../dist-src/util/extract-url-variable-names.js","../dist-src/util/omit.js","../dist-src/util/url-template.js","../dist-src/parse.js","../dist-src/endpoint-with-defaults.js","../dist-src/with-defaults.js","../dist-src/version.js","../dist-src/defaults.js","../dist-src/index.js"],"sourcesContent":["export function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\n","import { isPlainObject } from \"is-plain-object\";\nexport function mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n }\n else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\n","export function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === undefined) {\n delete obj[key];\n }\n }\n return obj;\n}\n","import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nexport function merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n }\n else {\n options = Object.assign({}, route);\n }\n // lowercase header names before merging with defaults to avoid duplicates\n options.headers = lowercaseKeys(options.headers);\n // remove properties with undefined values before merging\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n // mediaType.previews arrays are merged, instead of overwritten\n if (defaults && defaults.mediaType.previews.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews\n .filter((preview) => !mergedOptions.mediaType.previews.includes(preview))\n .concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map((preview) => preview.replace(/-preview/, \"\"));\n return mergedOptions;\n}\n","export function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return (url +\n separator +\n names\n .map((name) => {\n if (name === \"q\") {\n return (\"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\"));\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n })\n .join(\"&\"));\n}\n","const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nexport function extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\n","export function omit(object, keysToOmit) {\n return Object.keys(object)\n .filter((option) => !keysToOmit.includes(option))\n .reduce((obj, key) => {\n obj[key] = object[key];\n return obj;\n }, {});\n}\n","// Based on https://github.com/bramstein/url-template, licensed under BSD\n// TODO: create separate package.\n//\n// Copyright (c) 2012-2014, Bram Stein\n// All rights reserved.\n// Redistribution and use in source and binary forms, with or without\n// modification, are permitted provided that the following conditions\n// are met:\n// 1. Redistributions of source code must retain the above copyright\n// notice, this list of conditions and the following disclaimer.\n// 2. Redistributions in binary form must reproduce the above copyright\n// notice, this list of conditions and the following disclaimer in the\n// documentation and/or other materials provided with the distribution.\n// 3. The name of the author may not be used to endorse or promote products\n// derived from this software without specific prior written permission.\n// THIS SOFTWARE IS PROVIDED BY THE AUTHOR \"AS IS\" AND ANY EXPRESS OR IMPLIED\n// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO\n// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n/* istanbul ignore file */\nfunction encodeReserved(str) {\n return str\n .split(/(%[0-9A-Fa-f]{2})/g)\n .map(function (part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n })\n .join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value =\n operator === \"+\" || operator === \"#\"\n ? encodeReserved(value)\n : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n }\n else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n }\n else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : \"\"));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n }\n else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function (value) {\n tmp.push(encodeValue(operator, value));\n });\n }\n else {\n Object.keys(value).forEach(function (k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n }\n else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n }\n else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n }\n else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n }\n else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nexport function parseUrl(template) {\n return {\n expand: expand.bind(null, template),\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n return template.replace(/\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g, function (_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function (variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n }\n else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n }\n else {\n return values.join(\",\");\n }\n }\n else {\n return encodeReserved(literal);\n }\n });\n}\n","import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nexport function parse(options) {\n // https://fetch.spec.whatwg.org/#methods\n let method = options.method.toUpperCase();\n // replace :varname with {varname} to make it RFC 6570 compatible\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\",\n ]);\n // extract variable names from URL to calculate remaining variables later\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options)\n .filter((option) => urlVariableNames.includes(option))\n .concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw\n headers.accept = headers.accept\n .split(/,/)\n .map((preview) => preview.replace(/application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`))\n .join(\",\");\n }\n if (options.mediaType.previews.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader\n .concat(options.mediaType.previews)\n .map((preview) => {\n const format = options.mediaType.format\n ? `.${options.mediaType.format}`\n : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n })\n .join(\",\");\n }\n }\n // for GET/HEAD requests, set URL query parameters from remaining parameters\n // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n }\n else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n }\n else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n else {\n headers[\"content-length\"] = 0;\n }\n }\n }\n // default content-type for JSON if body is set\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body.\n // fetch does not allow to set `content-length` header, but we can set body to an empty string\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n // Only return body/request keys if present\n return Object.assign({ method, url, headers }, typeof body !== \"undefined\" ? { body } : null, options.request ? { request: options.request } : null);\n}\n","import { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\n","import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nexport function withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse,\n });\n}\n","export const VERSION = \"6.0.12\";\n","import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\n// DEFAULTS has all properties set that EndpointOptions has, except url.\n// So we use RequestParameters and add method as additional required property.\nexport const DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent,\n },\n mediaType: {\n format: \"\",\n previews: [],\n },\n};\n","import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nexport const endpoint = withDefaults(null, DEFAULTS);\n"],"names":[],"mappings":";;;AAAO,SAAS,aAAa,CAAC,MAAM,EAAE;AACtC,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AACvD,QAAQ,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAChD,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX;;ACPO,SAAS,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;AAC7C,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC1C,QAAQ,IAAI,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;AACzC,YAAY,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC;AAClC,gBAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC/D;AACA,gBAAgB,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,SAAS;AACT,aAAa;AACb,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3D,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;;ACfM,SAAS,yBAAyB,CAAC,GAAG,EAAE;AAC/C,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;AAC3B,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;AACpC,YAAY,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5B,SAAS;AACT,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf,CAAC;;ACJM,SAAS,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;AAChD,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7C,QAAQ,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;AAClF,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC3C,KAAK;AACL;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD;AACA,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAC;AACvC,IAAI,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/C,IAAI,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;AAC7D;AACA,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;AACxD,QAAQ,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ;AACtE,aAAa,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACrF,aAAa,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACtD,KAAK;AACL,IAAI,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1H,IAAI,OAAO,aAAa,CAAC;AACzB,CAAC;;ACzBM,SAAS,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE;AACpD,IAAI,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AACjD,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK;AACL,IAAI,QAAQ,GAAG;AACf,QAAQ,SAAS;AACjB,QAAQ,KAAK;AACb,aAAa,GAAG,CAAC,CAAC,IAAI,KAAK;AAC3B,YAAY,IAAI,IAAI,KAAK,GAAG,EAAE;AAC9B,gBAAgB,QAAQ,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC1F,aAAa;AACb,YAAY,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,SAAS,CAAC;AACV,aAAa,IAAI,CAAC,GAAG,CAAC,EAAE;AACxB,CAAC;;AChBD,MAAM,gBAAgB,GAAG,YAAY,CAAC;AACtC,SAAS,cAAc,CAAC,YAAY,EAAE;AACtC,IAAI,OAAO,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AACD,AAAO,SAAS,uBAAuB,CAAC,GAAG,EAAE;AAC7C,IAAI,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAChD,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;;ACVM,SAAS,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE;AACzC,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AAC9B,SAAS,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzD,SAAS,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AAC9B,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/B,QAAQ,OAAO,GAAG,CAAC;AACnB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,IAAI,OAAO,GAAG;AACd,SAAS,KAAK,CAAC,oBAAoB,CAAC;AACpC,SAAS,GAAG,CAAC,UAAU,IAAI,EAAE;AAC7B,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACxC,YAAY,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC7E,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK,CAAC;AACN,SAAS,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AACD,SAAS,gBAAgB,CAAC,GAAG,EAAE;AAC/B,IAAI,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;AACpE,QAAQ,OAAO,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAChE,KAAK,CAAC,CAAC;AACP,CAAC;AACD,SAAS,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;AAC3C,IAAI,KAAK;AACT,QAAQ,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG;AAC5C,cAAc,cAAc,CAAC,KAAK,CAAC;AACnC,cAAc,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACtC,IAAI,IAAI,GAAG,EAAE;AACb,QAAQ,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;AACnD,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,CAAC;AACD,SAAS,SAAS,CAAC,KAAK,EAAE;AAC1B,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACjD,CAAC;AACD,SAAS,aAAa,CAAC,QAAQ,EAAE;AACjC,IAAI,OAAO,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC;AACpE,CAAC;AACD,SAAS,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE;AACrD,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;AAC1C,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,EAAE;AAC1C,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;AACrC,YAAY,OAAO,KAAK,KAAK,QAAQ;AACrC,YAAY,OAAO,KAAK,KAAK,SAAS,EAAE;AACxC,YAAY,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AACrC,YAAY,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9C,gBAAgB,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AACnE,aAAa;AACb,YAAY,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AAC1F,SAAS;AACT,aAAa;AACb,YAAY,IAAI,QAAQ,KAAK,GAAG,EAAE;AAClC,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC1C,oBAAoB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACrE,wBAAwB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;AACtG,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC5D,wBAAwB,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACjD,4BAA4B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5E,yBAAyB;AACzB,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,aAAa;AACb,iBAAiB;AACjB,gBAAgB,MAAM,GAAG,GAAG,EAAE,CAAC;AAC/B,gBAAgB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC1C,oBAAoB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACrE,wBAAwB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/D,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC5D,wBAAwB,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACjD,4BAA4B,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,4BAA4B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACjF,yBAAyB;AACzB,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,gBAAgB,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;AAC7C,oBAAoB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,iBAAiB;AACjB,qBAAqB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3C,oBAAoB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL,SAAS;AACT,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9B,YAAY,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AAClC,gBAAgB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,aAAa;AACb,SAAS;AACT,aAAa,IAAI,KAAK,KAAK,EAAE,KAAK,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC,EAAE;AACzE,YAAY,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;AACrD,SAAS;AACT,aAAa,IAAI,KAAK,KAAK,EAAE,EAAE;AAC/B,YAAY,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5B,SAAS;AACT,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,AAAO,SAAS,QAAQ,CAAC,QAAQ,EAAE;AACnC,IAAI,OAAO;AACX,QAAQ,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC3C,KAAK,CAAC;AACN,CAAC;AACD,SAAS,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE;AACnC,IAAI,IAAI,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxD,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC,4BAA4B,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE;AAC5F,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,IAAI,QAAQ,GAAG,EAAE,CAAC;AAC9B,YAAY,MAAM,MAAM,GAAG,EAAE,CAAC;AAC9B,YAAY,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AAChE,gBAAgB,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAChD,gBAAgB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClD,aAAa;AACb,YAAY,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,QAAQ,EAAE;AAC/D,gBAAgB,IAAI,GAAG,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrE,gBAAgB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC9C,gBAAgB,IAAI,SAAS,GAAG,GAAG,CAAC;AACpC,gBAAgB,IAAI,QAAQ,KAAK,GAAG,EAAE;AACtC,oBAAoB,SAAS,GAAG,GAAG,CAAC;AACpC,iBAAiB;AACjB,qBAAqB,IAAI,QAAQ,KAAK,GAAG,EAAE;AAC3C,oBAAoB,SAAS,GAAG,QAAQ,CAAC;AACzC,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,QAAQ,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACtF,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;AAC3C,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC;;AC/JM,SAAS,KAAK,CAAC,OAAO,EAAE;AAC/B;AACA,IAAI,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9C;AACA,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACnE,IAAI,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AACrD,IAAI,IAAI,IAAI,CAAC;AACb,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE;AACnC,QAAQ,QAAQ;AAChB,QAAQ,SAAS;AACjB,QAAQ,KAAK;AACb,QAAQ,SAAS;AACjB,QAAQ,SAAS;AACjB,QAAQ,WAAW;AACnB,KAAK,CAAC,CAAC;AACP;AACA,IAAI,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;AAC1D,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC5B,QAAQ,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;AACpC,KAAK;AACL,IAAI,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;AAClD,SAAS,MAAM,CAAC,CAAC,MAAM,KAAK,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9D,SAAS,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3B,IAAI,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;AACpE,IAAI,MAAM,eAAe,GAAG,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC9E,IAAI,IAAI,CAAC,eAAe,EAAE;AAC1B,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;AACtC;AACA,YAAY,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;AAC3C,iBAAiB,KAAK,CAAC,GAAG,CAAC;AAC3B,iBAAiB,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,kDAAkD,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzJ,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC/C,YAAY,MAAM,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;AAC/F,YAAY,OAAO,CAAC,MAAM,GAAG,wBAAwB;AACrD,iBAAiB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;AACnD,iBAAiB,GAAG,CAAC,CAAC,OAAO,KAAK;AAClC,gBAAgB,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM;AACvD,sBAAsB,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACpD,sBAAsB,OAAO,CAAC;AAC9B,gBAAgB,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5E,aAAa,CAAC;AACd,iBAAiB,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAS;AACT,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC1C,QAAQ,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;AAC3D,KAAK;AACL,SAAS;AACT,QAAQ,IAAI,MAAM,IAAI,mBAAmB,EAAE;AAC3C,YAAY,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC;AAC5C,SAAS;AACT,aAAa;AACb,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE;AACzD,gBAAgB,IAAI,GAAG,mBAAmB,CAAC;AAC3C,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC9C,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;AACjE,QAAQ,OAAO,CAAC,cAAc,CAAC,GAAG,iCAAiC,CAAC;AACpE,KAAK;AACL;AACA;AACA,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;AAC1E,QAAQ,IAAI,GAAG,EAAE,CAAC;AAClB,KAAK;AACL;AACA,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,IAAI,KAAK,WAAW,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,OAAO,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AACzJ,CAAC;;AC9EM,SAAS,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;AAC/D,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAClD,CAAC;;ACDM,SAAS,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE;AACvD,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACrD,IAAI,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC/D,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;AACnC,QAAQ,QAAQ;AAChB,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACnD,QAAQ,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;AACzC,QAAQ,KAAK;AACb,KAAK,CAAC,CAAC;AACP,CAAC;;ACZM,MAAM,OAAO,GAAG,mBAAmB,CAAC;;ACE3C,MAAM,SAAS,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;AACrE;AACA;AACA,AAAO,MAAM,QAAQ,GAAG;AACxB,IAAI,MAAM,EAAE,KAAK;AACjB,IAAI,OAAO,EAAE,wBAAwB;AACrC,IAAI,OAAO,EAAE;AACb,QAAQ,MAAM,EAAE,gCAAgC;AAChD,QAAQ,YAAY,EAAE,SAAS;AAC/B,KAAK;AACL,IAAI,SAAS,EAAE;AACf,QAAQ,MAAM,EAAE,EAAE;AAClB,QAAQ,QAAQ,EAAE,EAAE;AACpB,KAAK;AACL,CAAC,CAAC;;ACdU,MAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC;;;;"}
\ No newline at end of file
+{
+ "version": 3,
+ "sources": ["../dist-src/defaults.js", "../dist-src/version.js", "../dist-src/util/lowercase-keys.js", "../dist-src/util/is-plain-object.js", "../dist-src/util/merge-deep.js", "../dist-src/util/remove-undefined-properties.js", "../dist-src/merge.js", "../dist-src/util/add-query-parameters.js", "../dist-src/util/extract-url-variable-names.js", "../dist-src/util/omit.js", "../dist-src/util/url-template.js", "../dist-src/parse.js", "../dist-src/endpoint-with-defaults.js", "../dist-src/with-defaults.js", "../dist-src/index.js"],
+ "sourcesContent": ["import { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nconst userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;\nconst DEFAULTS = {\n method: \"GET\",\n baseUrl: \"https://api.github.com\",\n headers: {\n accept: \"application/vnd.github.v3+json\",\n \"user-agent\": userAgent\n },\n mediaType: {\n format: \"\"\n }\n};\nexport {\n DEFAULTS\n};\n", "const VERSION = \"9.0.4\";\nexport {\n VERSION\n};\n", "function lowercaseKeys(object) {\n if (!object) {\n return {};\n }\n return Object.keys(object).reduce((newObj, key) => {\n newObj[key.toLowerCase()] = object[key];\n return newObj;\n }, {});\n}\nexport {\n lowercaseKeys\n};\n", "function isPlainObject(value) {\n if (typeof value !== \"object\" || value === null)\n return false;\n if (Object.prototype.toString.call(value) !== \"[object Object]\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null)\n return true;\n const Ctor = Object.prototype.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);\n}\nexport {\n isPlainObject\n};\n", "import { isPlainObject } from \"./is-plain-object\";\nfunction mergeDeep(defaults, options) {\n const result = Object.assign({}, defaults);\n Object.keys(options).forEach((key) => {\n if (isPlainObject(options[key])) {\n if (!(key in defaults))\n Object.assign(result, { [key]: options[key] });\n else\n result[key] = mergeDeep(defaults[key], options[key]);\n } else {\n Object.assign(result, { [key]: options[key] });\n }\n });\n return result;\n}\nexport {\n mergeDeep\n};\n", "function removeUndefinedProperties(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\nexport {\n removeUndefinedProperties\n};\n", "import { lowercaseKeys } from \"./util/lowercase-keys\";\nimport { mergeDeep } from \"./util/merge-deep\";\nimport { removeUndefinedProperties } from \"./util/remove-undefined-properties\";\nfunction merge(defaults, route, options) {\n if (typeof route === \"string\") {\n let [method, url] = route.split(\" \");\n options = Object.assign(url ? { method, url } : { url: method }, options);\n } else {\n options = Object.assign({}, route);\n }\n options.headers = lowercaseKeys(options.headers);\n removeUndefinedProperties(options);\n removeUndefinedProperties(options.headers);\n const mergedOptions = mergeDeep(defaults || {}, options);\n if (options.url === \"/graphql\") {\n if (defaults && defaults.mediaType.previews?.length) {\n mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(\n (preview) => !mergedOptions.mediaType.previews.includes(preview)\n ).concat(mergedOptions.mediaType.previews);\n }\n mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, \"\"));\n }\n return mergedOptions;\n}\nexport {\n merge\n};\n", "function addQueryParameters(url, parameters) {\n const separator = /\\?/.test(url) ? \"&\" : \"?\";\n const names = Object.keys(parameters);\n if (names.length === 0) {\n return url;\n }\n return url + separator + names.map((name) => {\n if (name === \"q\") {\n return \"q=\" + parameters.q.split(\"+\").map(encodeURIComponent).join(\"+\");\n }\n return `${name}=${encodeURIComponent(parameters[name])}`;\n }).join(\"&\");\n}\nexport {\n addQueryParameters\n};\n", "const urlVariableRegex = /\\{[^}]+\\}/g;\nfunction removeNonChars(variableName) {\n return variableName.replace(/^\\W+|\\W+$/g, \"\").split(/,/);\n}\nfunction extractUrlVariableNames(url) {\n const matches = url.match(urlVariableRegex);\n if (!matches) {\n return [];\n }\n return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);\n}\nexport {\n extractUrlVariableNames\n};\n", "function omit(object, keysToOmit) {\n const result = { __proto__: null };\n for (const key of Object.keys(object)) {\n if (keysToOmit.indexOf(key) === -1) {\n result[key] = object[key];\n }\n }\n return result;\n}\nexport {\n omit\n};\n", "function encodeReserved(str) {\n return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {\n if (!/%[0-9A-Fa-f]/.test(part)) {\n part = encodeURI(part).replace(/%5B/g, \"[\").replace(/%5D/g, \"]\");\n }\n return part;\n }).join(\"\");\n}\nfunction encodeUnreserved(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\nfunction encodeValue(operator, value, key) {\n value = operator === \"+\" || operator === \"#\" ? encodeReserved(value) : encodeUnreserved(value);\n if (key) {\n return encodeUnreserved(key) + \"=\" + value;\n } else {\n return value;\n }\n}\nfunction isDefined(value) {\n return value !== void 0 && value !== null;\n}\nfunction isKeyOperator(operator) {\n return operator === \";\" || operator === \"&\" || operator === \"?\";\n}\nfunction getValues(context, operator, key, modifier) {\n var value = context[key], result = [];\n if (isDefined(value) && value !== \"\") {\n if (typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\") {\n value = value.toString();\n if (modifier && modifier !== \"*\") {\n value = value.substring(0, parseInt(modifier, 10));\n }\n result.push(\n encodeValue(operator, value, isKeyOperator(operator) ? key : \"\")\n );\n } else {\n if (modifier === \"*\") {\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n result.push(\n encodeValue(operator, value2, isKeyOperator(operator) ? key : \"\")\n );\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n result.push(encodeValue(operator, value[k], k));\n }\n });\n }\n } else {\n const tmp = [];\n if (Array.isArray(value)) {\n value.filter(isDefined).forEach(function(value2) {\n tmp.push(encodeValue(operator, value2));\n });\n } else {\n Object.keys(value).forEach(function(k) {\n if (isDefined(value[k])) {\n tmp.push(encodeUnreserved(k));\n tmp.push(encodeValue(operator, value[k].toString()));\n }\n });\n }\n if (isKeyOperator(operator)) {\n result.push(encodeUnreserved(key) + \"=\" + tmp.join(\",\"));\n } else if (tmp.length !== 0) {\n result.push(tmp.join(\",\"));\n }\n }\n }\n } else {\n if (operator === \";\") {\n if (isDefined(value)) {\n result.push(encodeUnreserved(key));\n }\n } else if (value === \"\" && (operator === \"&\" || operator === \"?\")) {\n result.push(encodeUnreserved(key) + \"=\");\n } else if (value === \"\") {\n result.push(\"\");\n }\n }\n return result;\n}\nfunction parseUrl(template) {\n return {\n expand: expand.bind(null, template)\n };\n}\nfunction expand(template, context) {\n var operators = [\"+\", \"#\", \".\", \"/\", \";\", \"?\", \"&\"];\n template = template.replace(\n /\\{([^\\{\\}]+)\\}|([^\\{\\}]+)/g,\n function(_, expression, literal) {\n if (expression) {\n let operator = \"\";\n const values = [];\n if (operators.indexOf(expression.charAt(0)) !== -1) {\n operator = expression.charAt(0);\n expression = expression.substr(1);\n }\n expression.split(/,/g).forEach(function(variable) {\n var tmp = /([^:\\*]*)(?::(\\d+)|(\\*))?/.exec(variable);\n values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));\n });\n if (operator && operator !== \"+\") {\n var separator = \",\";\n if (operator === \"?\") {\n separator = \"&\";\n } else if (operator !== \"#\") {\n separator = operator;\n }\n return (values.length !== 0 ? operator : \"\") + values.join(separator);\n } else {\n return values.join(\",\");\n }\n } else {\n return encodeReserved(literal);\n }\n }\n );\n if (template === \"/\") {\n return template;\n } else {\n return template.replace(/\\/$/, \"\");\n }\n}\nexport {\n parseUrl\n};\n", "import { addQueryParameters } from \"./util/add-query-parameters\";\nimport { extractUrlVariableNames } from \"./util/extract-url-variable-names\";\nimport { omit } from \"./util/omit\";\nimport { parseUrl } from \"./util/url-template\";\nfunction parse(options) {\n let method = options.method.toUpperCase();\n let url = (options.url || \"/\").replace(/:([a-z]\\w+)/g, \"{$1}\");\n let headers = Object.assign({}, options.headers);\n let body;\n let parameters = omit(options, [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"mediaType\"\n ]);\n const urlVariableNames = extractUrlVariableNames(url);\n url = parseUrl(url).expand(parameters);\n if (!/^http/.test(url)) {\n url = options.baseUrl + url;\n }\n const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat(\"baseUrl\");\n const remainingParameters = omit(parameters, omittedParameters);\n const isBinaryRequest = /application\\/octet-stream/i.test(headers.accept);\n if (!isBinaryRequest) {\n if (options.mediaType.format) {\n headers.accept = headers.accept.split(/,/).map(\n (format) => format.replace(\n /application\\/vnd(\\.\\w+)(\\.v3)?(\\.\\w+)?(\\+json)?$/,\n `application/vnd$1$2.${options.mediaType.format}`\n )\n ).join(\",\");\n }\n if (url.endsWith(\"/graphql\")) {\n if (options.mediaType.previews?.length) {\n const previewsFromAcceptHeader = headers.accept.match(/[\\w-]+(?=-preview)/g) || [];\n headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {\n const format = options.mediaType.format ? `.${options.mediaType.format}` : \"+json\";\n return `application/vnd.github.${preview}-preview${format}`;\n }).join(\",\");\n }\n }\n }\n if ([\"GET\", \"HEAD\"].includes(method)) {\n url = addQueryParameters(url, remainingParameters);\n } else {\n if (\"data\" in remainingParameters) {\n body = remainingParameters.data;\n } else {\n if (Object.keys(remainingParameters).length) {\n body = remainingParameters;\n }\n }\n }\n if (!headers[\"content-type\"] && typeof body !== \"undefined\") {\n headers[\"content-type\"] = \"application/json; charset=utf-8\";\n }\n if ([\"PATCH\", \"PUT\"].includes(method) && typeof body === \"undefined\") {\n body = \"\";\n }\n return Object.assign(\n { method, url, headers },\n typeof body !== \"undefined\" ? { body } : null,\n options.request ? { request: options.request } : null\n );\n}\nexport {\n parse\n};\n", "import { DEFAULTS } from \"./defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction endpointWithDefaults(defaults, route, options) {\n return parse(merge(defaults, route, options));\n}\nexport {\n endpointWithDefaults\n};\n", "import { endpointWithDefaults } from \"./endpoint-with-defaults\";\nimport { merge } from \"./merge\";\nimport { parse } from \"./parse\";\nfunction withDefaults(oldDefaults, newDefaults) {\n const DEFAULTS = merge(oldDefaults, newDefaults);\n const endpoint = endpointWithDefaults.bind(null, DEFAULTS);\n return Object.assign(endpoint, {\n DEFAULTS,\n defaults: withDefaults.bind(null, DEFAULTS),\n merge: merge.bind(null, DEFAULTS),\n parse\n });\n}\nexport {\n withDefaults\n};\n", "import { withDefaults } from \"./with-defaults\";\nimport { DEFAULTS } from \"./defaults\";\nconst endpoint = withDefaults(null, DEFAULTS);\nexport {\n endpoint\n};\n"],
+ "mappings": ";AAAA,SAAS,oBAAoB;;;ACA7B,IAAM,UAAU;;;ADEhB,IAAM,YAAY,uBAAuB,OAAO,IAAI,aAAa,CAAC;AAClE,IAAM,WAAW;AAAA,EACf,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,IACP,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AAAA,EACA,WAAW;AAAA,IACT,QAAQ;AAAA,EACV;AACF;;;AEbA,SAAS,cAAc,QAAQ;AAC7B,MAAI,CAAC,QAAQ;AACX,WAAO,CAAC;AAAA,EACV;AACA,SAAO,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACjD,WAAO,IAAI,YAAY,CAAC,IAAI,OAAO,GAAG;AACtC,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;;;ACRA,SAAS,cAAc,OAAO;AAC5B,MAAI,OAAO,UAAU,YAAY,UAAU;AACzC,WAAO;AACT,MAAI,OAAO,UAAU,SAAS,KAAK,KAAK,MAAM;AAC5C,WAAO;AACT,QAAM,QAAQ,OAAO,eAAe,KAAK;AACzC,MAAI,UAAU;AACZ,WAAO;AACT,QAAM,OAAO,OAAO,UAAU,eAAe,KAAK,OAAO,aAAa,KAAK,MAAM;AACjF,SAAO,OAAO,SAAS,cAAc,gBAAgB,QAAQ,SAAS,UAAU,KAAK,IAAI,MAAM,SAAS,UAAU,KAAK,KAAK;AAC9H;;;ACTA,SAAS,UAAU,UAAU,SAAS;AACpC,QAAM,SAAS,OAAO,OAAO,CAAC,GAAG,QAAQ;AACzC,SAAO,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAQ;AACpC,QAAI,cAAc,QAAQ,GAAG,CAAC,GAAG;AAC/B,UAAI,EAAE,OAAO;AACX,eAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA;AAE7C,eAAO,GAAG,IAAI,UAAU,SAAS,GAAG,GAAG,QAAQ,GAAG,CAAC;AAAA,IACvD,OAAO;AACL,aAAO,OAAO,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;AAAA,IAC/C;AAAA,EACF,CAAC;AACD,SAAO;AACT;;;ACdA,SAAS,0BAA0B,KAAK;AACtC,aAAW,OAAO,KAAK;AACrB,QAAI,IAAI,GAAG,MAAM,QAAQ;AACvB,aAAO,IAAI,GAAG;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;;;ACJA,SAAS,MAAM,UAAU,OAAO,SAAS;AACvC,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,MAAM,GAAG;AACnC,cAAU,OAAO,OAAO,MAAM,EAAE,QAAQ,IAAI,IAAI,EAAE,KAAK,OAAO,GAAG,OAAO;AAAA,EAC1E,OAAO;AACL,cAAU,OAAO,OAAO,CAAC,GAAG,KAAK;AAAA,EACnC;AACA,UAAQ,UAAU,cAAc,QAAQ,OAAO;AAC/C,4BAA0B,OAAO;AACjC,4BAA0B,QAAQ,OAAO;AACzC,QAAM,gBAAgB,UAAU,YAAY,CAAC,GAAG,OAAO;AACvD,MAAI,QAAQ,QAAQ,YAAY;AAC9B,QAAI,YAAY,SAAS,UAAU,UAAU,QAAQ;AACnD,oBAAc,UAAU,WAAW,SAAS,UAAU,SAAS;AAAA,QAC7D,CAAC,YAAY,CAAC,cAAc,UAAU,SAAS,SAAS,OAAO;AAAA,MACjE,EAAE,OAAO,cAAc,UAAU,QAAQ;AAAA,IAC3C;AACA,kBAAc,UAAU,YAAY,cAAc,UAAU,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,QAAQ,QAAQ,YAAY,EAAE,CAAC;AAAA,EAC9H;AACA,SAAO;AACT;;;ACvBA,SAAS,mBAAmB,KAAK,YAAY;AAC3C,QAAM,YAAY,KAAK,KAAK,GAAG,IAAI,MAAM;AACzC,QAAM,QAAQ,OAAO,KAAK,UAAU;AACpC,MAAI,MAAM,WAAW,GAAG;AACtB,WAAO;AAAA,EACT;AACA,SAAO,MAAM,YAAY,MAAM,IAAI,CAAC,SAAS;AAC3C,QAAI,SAAS,KAAK;AAChB,aAAO,OAAO,WAAW,EAAE,MAAM,GAAG,EAAE,IAAI,kBAAkB,EAAE,KAAK,GAAG;AAAA,IACxE;AACA,WAAO,GAAG,IAAI,IAAI,mBAAmB,WAAW,IAAI,CAAC,CAAC;AAAA,EACxD,CAAC,EAAE,KAAK,GAAG;AACb;;;ACZA,IAAM,mBAAmB;AACzB,SAAS,eAAe,cAAc;AACpC,SAAO,aAAa,QAAQ,cAAc,EAAE,EAAE,MAAM,GAAG;AACzD;AACA,SAAS,wBAAwB,KAAK;AACpC,QAAM,UAAU,IAAI,MAAM,gBAAgB;AAC1C,MAAI,CAAC,SAAS;AACZ,WAAO,CAAC;AAAA,EACV;AACA,SAAO,QAAQ,IAAI,cAAc,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AACrE;;;ACVA,SAAS,KAAK,QAAQ,YAAY;AAChC,QAAM,SAAS,EAAE,WAAW,KAAK;AACjC,aAAW,OAAO,OAAO,KAAK,MAAM,GAAG;AACrC,QAAI,WAAW,QAAQ,GAAG,MAAM,IAAI;AAClC,aAAO,GAAG,IAAI,OAAO,GAAG;AAAA,IAC1B;AAAA,EACF;AACA,SAAO;AACT;;;ACRA,SAAS,eAAe,KAAK;AAC3B,SAAO,IAAI,MAAM,oBAAoB,EAAE,IAAI,SAAS,MAAM;AACxD,QAAI,CAAC,eAAe,KAAK,IAAI,GAAG;AAC9B,aAAO,UAAU,IAAI,EAAE,QAAQ,QAAQ,GAAG,EAAE,QAAQ,QAAQ,GAAG;AAAA,IACjE;AACA,WAAO;AAAA,EACT,CAAC,EAAE,KAAK,EAAE;AACZ;AACA,SAAS,iBAAiB,KAAK;AAC7B,SAAO,mBAAmB,GAAG,EAAE,QAAQ,YAAY,SAAS,GAAG;AAC7D,WAAO,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,YAAY;AAAA,EACxD,CAAC;AACH;AACA,SAAS,YAAY,UAAU,OAAO,KAAK;AACzC,UAAQ,aAAa,OAAO,aAAa,MAAM,eAAe,KAAK,IAAI,iBAAiB,KAAK;AAC7F,MAAI,KAAK;AACP,WAAO,iBAAiB,GAAG,IAAI,MAAM;AAAA,EACvC,OAAO;AACL,WAAO;AAAA,EACT;AACF;AACA,SAAS,UAAU,OAAO;AACxB,SAAO,UAAU,UAAU,UAAU;AACvC;AACA,SAAS,cAAc,UAAU;AAC/B,SAAO,aAAa,OAAO,aAAa,OAAO,aAAa;AAC9D;AACA,SAAS,UAAU,SAAS,UAAU,KAAK,UAAU;AACnD,MAAI,QAAQ,QAAQ,GAAG,GAAG,SAAS,CAAC;AACpC,MAAI,UAAU,KAAK,KAAK,UAAU,IAAI;AACpC,QAAI,OAAO,UAAU,YAAY,OAAO,UAAU,YAAY,OAAO,UAAU,WAAW;AACxF,cAAQ,MAAM,SAAS;AACvB,UAAI,YAAY,aAAa,KAAK;AAChC,gBAAQ,MAAM,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;AAAA,MACnD;AACA,aAAO;AAAA,QACL,YAAY,UAAU,OAAO,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,MACjE;AAAA,IACF,OAAO;AACL,UAAI,aAAa,KAAK;AACpB,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,mBAAO;AAAA,cACL,YAAY,UAAU,QAAQ,cAAc,QAAQ,IAAI,MAAM,EAAE;AAAA,YAClE;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,qBAAO,KAAK,YAAY,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA,YAChD;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,cAAM,MAAM,CAAC;AACb,YAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,gBAAM,OAAO,SAAS,EAAE,QAAQ,SAAS,QAAQ;AAC/C,gBAAI,KAAK,YAAY,UAAU,MAAM,CAAC;AAAA,UACxC,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,KAAK,EAAE,QAAQ,SAAS,GAAG;AACrC,gBAAI,UAAU,MAAM,CAAC,CAAC,GAAG;AACvB,kBAAI,KAAK,iBAAiB,CAAC,CAAC;AAC5B,kBAAI,KAAK,YAAY,UAAU,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;AAAA,YACrD;AAAA,UACF,CAAC;AAAA,QACH;AACA,YAAI,cAAc,QAAQ,GAAG;AAC3B,iBAAO,KAAK,iBAAiB,GAAG,IAAI,MAAM,IAAI,KAAK,GAAG,CAAC;AAAA,QACzD,WAAW,IAAI,WAAW,GAAG;AAC3B,iBAAO,KAAK,IAAI,KAAK,GAAG,CAAC;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,OAAO;AACL,QAAI,aAAa,KAAK;AACpB,UAAI,UAAU,KAAK,GAAG;AACpB,eAAO,KAAK,iBAAiB,GAAG,CAAC;AAAA,MACnC;AAAA,IACF,WAAW,UAAU,OAAO,aAAa,OAAO,aAAa,MAAM;AACjE,aAAO,KAAK,iBAAiB,GAAG,IAAI,GAAG;AAAA,IACzC,WAAW,UAAU,IAAI;AACvB,aAAO,KAAK,EAAE;AAAA,IAChB;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,SAAS,UAAU;AAC1B,SAAO;AAAA,IACL,QAAQ,OAAO,KAAK,MAAM,QAAQ;AAAA,EACpC;AACF;AACA,SAAS,OAAO,UAAU,SAAS;AACjC,MAAI,YAAY,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAClD,aAAW,SAAS;AAAA,IAClB;AAAA,IACA,SAAS,GAAG,YAAY,SAAS;AAC/B,UAAI,YAAY;AACd,YAAI,WAAW;AACf,cAAM,SAAS,CAAC;AAChB,YAAI,UAAU,QAAQ,WAAW,OAAO,CAAC,CAAC,MAAM,IAAI;AAClD,qBAAW,WAAW,OAAO,CAAC;AAC9B,uBAAa,WAAW,OAAO,CAAC;AAAA,QAClC;AACA,mBAAW,MAAM,IAAI,EAAE,QAAQ,SAAS,UAAU;AAChD,cAAI,MAAM,4BAA4B,KAAK,QAAQ;AACnD,iBAAO,KAAK,UAAU,SAAS,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;AAAA,QACpE,CAAC;AACD,YAAI,YAAY,aAAa,KAAK;AAChC,cAAI,YAAY;AAChB,cAAI,aAAa,KAAK;AACpB,wBAAY;AAAA,UACd,WAAW,aAAa,KAAK;AAC3B,wBAAY;AAAA,UACd;AACA,kBAAQ,OAAO,WAAW,IAAI,WAAW,MAAM,OAAO,KAAK,SAAS;AAAA,QACtE,OAAO;AACL,iBAAO,OAAO,KAAK,GAAG;AAAA,QACxB;AAAA,MACF,OAAO;AACL,eAAO,eAAe,OAAO;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACA,MAAI,aAAa,KAAK;AACpB,WAAO;AAAA,EACT,OAAO;AACL,WAAO,SAAS,QAAQ,OAAO,EAAE;AAAA,EACnC;AACF;;;AC7HA,SAAS,MAAM,SAAS;AACtB,MAAI,SAAS,QAAQ,OAAO,YAAY;AACxC,MAAI,OAAO,QAAQ,OAAO,KAAK,QAAQ,gBAAgB,MAAM;AAC7D,MAAI,UAAU,OAAO,OAAO,CAAC,GAAG,QAAQ,OAAO;AAC/C,MAAI;AACJ,MAAI,aAAa,KAAK,SAAS;AAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACD,QAAM,mBAAmB,wBAAwB,GAAG;AACpD,QAAM,SAAS,GAAG,EAAE,OAAO,UAAU;AACrC,MAAI,CAAC,QAAQ,KAAK,GAAG,GAAG;AACtB,UAAM,QAAQ,UAAU;AAAA,EAC1B;AACA,QAAM,oBAAoB,OAAO,KAAK,OAAO,EAAE,OAAO,CAAC,WAAW,iBAAiB,SAAS,MAAM,CAAC,EAAE,OAAO,SAAS;AACrH,QAAM,sBAAsB,KAAK,YAAY,iBAAiB;AAC9D,QAAM,kBAAkB,6BAA6B,KAAK,QAAQ,MAAM;AACxE,MAAI,CAAC,iBAAiB;AACpB,QAAI,QAAQ,UAAU,QAAQ;AAC5B,cAAQ,SAAS,QAAQ,OAAO,MAAM,GAAG,EAAE;AAAA,QACzC,CAAC,WAAW,OAAO;AAAA,UACjB;AAAA,UACA,uBAAuB,QAAQ,UAAU,MAAM;AAAA,QACjD;AAAA,MACF,EAAE,KAAK,GAAG;AAAA,IACZ;AACA,QAAI,IAAI,SAAS,UAAU,GAAG;AAC5B,UAAI,QAAQ,UAAU,UAAU,QAAQ;AACtC,cAAM,2BAA2B,QAAQ,OAAO,MAAM,qBAAqB,KAAK,CAAC;AACjF,gBAAQ,SAAS,yBAAyB,OAAO,QAAQ,UAAU,QAAQ,EAAE,IAAI,CAAC,YAAY;AAC5F,gBAAM,SAAS,QAAQ,UAAU,SAAS,IAAI,QAAQ,UAAU,MAAM,KAAK;AAC3E,iBAAO,0BAA0B,OAAO,WAAW,MAAM;AAAA,QAC3D,CAAC,EAAE,KAAK,GAAG;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,OAAO,MAAM,EAAE,SAAS,MAAM,GAAG;AACpC,UAAM,mBAAmB,KAAK,mBAAmB;AAAA,EACnD,OAAO;AACL,QAAI,UAAU,qBAAqB;AACjC,aAAO,oBAAoB;AAAA,IAC7B,OAAO;AACL,UAAI,OAAO,KAAK,mBAAmB,EAAE,QAAQ;AAC3C,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,QAAQ,cAAc,KAAK,OAAO,SAAS,aAAa;AAC3D,YAAQ,cAAc,IAAI;AAAA,EAC5B;AACA,MAAI,CAAC,SAAS,KAAK,EAAE,SAAS,MAAM,KAAK,OAAO,SAAS,aAAa;AACpE,WAAO;AAAA,EACT;AACA,SAAO,OAAO;AAAA,IACZ,EAAE,QAAQ,KAAK,QAAQ;AAAA,IACvB,OAAO,SAAS,cAAc,EAAE,KAAK,IAAI;AAAA,IACzC,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAQ,IAAI;AAAA,EACnD;AACF;;;AC/DA,SAAS,qBAAqB,UAAU,OAAO,SAAS;AACtD,SAAO,MAAM,MAAM,UAAU,OAAO,OAAO,CAAC;AAC9C;;;ACFA,SAAS,aAAa,aAAa,aAAa;AAC9C,QAAMA,YAAW,MAAM,aAAa,WAAW;AAC/C,QAAMC,YAAW,qBAAqB,KAAK,MAAMD,SAAQ;AACzD,SAAO,OAAO,OAAOC,WAAU;AAAA,IAC7B,UAAAD;AAAA,IACA,UAAU,aAAa,KAAK,MAAMA,SAAQ;AAAA,IAC1C,OAAO,MAAM,KAAK,MAAMA,SAAQ;AAAA,IAChC;AAAA,EACF,CAAC;AACH;;;ACVA,IAAM,WAAW,aAAa,MAAM,QAAQ;",
+ "names": ["DEFAULTS", "endpoint"]
+}
diff --git a/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/endpoint/package.json
index 4e4d4255..eb192e3c 100644
--- a/node_modules/@octokit/endpoint/package.json
+++ b/node_modules/@octokit/endpoint/package.json
@@ -1,44 +1,45 @@
{
"name": "@octokit/endpoint",
+ "version": "9.0.4",
+ "publishConfig": {
+ "access": "public"
+ },
"description": "Turns REST API endpoints into generic request options",
- "version": "6.0.12",
- "license": "MIT",
- "files": [
- "dist-*/",
- "bin/"
- ],
- "pika": true,
- "sideEffects": false,
+ "repository": "github:octokit/endpoint.js",
"keywords": [
"octokit",
"github",
"api",
"rest"
],
- "repository": "github:octokit/endpoint.js",
- "dependencies": {
- "@octokit/types": "^6.0.3",
- "is-plain-object": "^5.0.0",
- "universal-user-agent": "^6.0.0"
- },
+ "author": "Gregor Martynus (https://github.com/gr2m)",
+ "license": "MIT",
"devDependencies": {
- "@pika/pack": "^0.5.0",
- "@pika/plugin-build-node": "^0.9.0",
- "@pika/plugin-build-web": "^0.9.0",
- "@pika/plugin-ts-standard-pkg": "^0.9.0",
- "@types/jest": "^26.0.0",
- "jest": "^27.0.0",
- "prettier": "2.3.1",
- "semantic-release": "^17.0.0",
+ "@octokit/tsconfig": "^2.0.0",
+ "@types/jest": "^29.0.0",
+ "esbuild": "^0.19.0",
+ "glob": "^10.2.7",
+ "jest": "^29.0.0",
+ "prettier": "3.1.0",
+ "semantic-release": "^22.0.0",
"semantic-release-plugin-update-version-in-files": "^1.0.0",
- "ts-jest": "^27.0.0-next.12",
- "typescript": "^4.0.2"
+ "ts-jest": "^29.0.0",
+ "typescript": "^5.0.0"
},
- "publishConfig": {
- "access": "public"
+ "dependencies": {
+ "@octokit/types": "^12.0.0",
+ "universal-user-agent": "^6.0.0"
},
- "source": "dist-src/index.js",
- "types": "dist-types/index.d.ts",
+ "engines": {
+ "node": ">= 18"
+ },
+ "files": [
+ "dist-*/**",
+ "bin/**"
+ ],
"main": "dist-node/index.js",
- "module": "dist-web/index.js"
+ "browser": "dist-web/index.js",
+ "types": "dist-types/index.d.ts",
+ "module": "dist-src/index.js",
+ "sideEffects": false
}
diff --git a/node_modules/@octokit/graphql/README.md b/node_modules/@octokit/graphql/README.md
index fe7881cf..58b3b10d 100644
--- a/node_modules/@octokit/graphql/README.md
+++ b/node_modules/@octokit/graphql/README.md
@@ -3,7 +3,7 @@
> GitHub GraphQL API client for browsers and Node
[![@latest](https://img.shields.io/npm/v/@octokit/graphql.svg)](https://www.npmjs.com/package/@octokit/graphql)
-[![Build Status](https://github.com/octokit/graphql.js/workflows/Test/badge.svg)](https://github.com/octokit/graphql.js/actions?query=workflow%3ATest+branch%3Amaster)
+[![Build Status](https://github.com/octokit/graphql.js/workflows/Test/badge.svg)](https://github.com/octokit/graphql.js/actions?query=workflow%3ATest+branch%3Amain)
@@ -31,11 +31,11 @@
Browsers
|
-Load `@octokit/graphql` directly from [cdn.skypack.dev](https://cdn.skypack.dev)
+Load `@octokit/graphql` directly from [esm.sh](https://esm.sh)
```html
```
@@ -76,7 +76,7 @@ const { repository } = await graphql(
headers: {
authorization: `token secret123`,
},
- }
+ },
);
```
@@ -110,7 +110,7 @@ For more complex authentication strategies such as GitHub Apps or Basic, we reco
```js
const { createAppAuth } = require("@octokit/auth-app");
const auth = createAppAuth({
- id: process.env.APP_ID,
+ appId: process.env.APP_ID,
privateKey: process.env.PRIVATE_KEY,
installationId: 123,
});
@@ -131,7 +131,7 @@ const { repository } = await graphqlWithAuth(
}
}
}
- }`
+ }`,
);
```
@@ -160,7 +160,7 @@ const { lastIssues } = await graphql(
headers: {
authorization: `token secret123`,
},
- }
+ },
);
```
@@ -222,7 +222,7 @@ const { withCustomRequest } = require("@octokit/graphql");
let requestCounter = 0;
const myRequest = request.defaults({
headers: {
- authentication: "token secret123",
+ authorization: "bearer secret123",
},
request: {
hook(request, options) {
@@ -268,7 +268,7 @@ All errors can be accessed at `error.errors`. `error.request` has the request op
```js
let { graphql, GraphqlResponseError } = require("@octokit/graphql");
-graphqlt = graphql.defaults({
+graphql = graphql.defaults({
headers: {
authorization: `token secret123`,
},
@@ -396,7 +396,7 @@ graphql("{ viewer { login } }", {
assert.strictEqual(
options.body,
'{"query":"{ viewer { login } }"}',
- "Sends correct query"
+ "Sends correct query",
);
return { data: {} };
}),
diff --git a/node_modules/@octokit/graphql/dist-node/index.js b/node_modules/@octokit/graphql/dist-node/index.js
index 6401417b..e5b0a4e8 100644
--- a/node_modules/@octokit/graphql/dist-node/index.js
+++ b/node_modules/@octokit/graphql/dist-node/index.js
@@ -1,106 +1,141 @@
-'use strict';
+"use strict";
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ for (var name in all)
+ __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))
+ if (!__hasOwnProp.call(to, key) && key !== except)
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ }
+ return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+// pkg/dist-src/index.js
+var dist_src_exports = {};
+__export(dist_src_exports, {
+ GraphqlResponseError: () => GraphqlResponseError,
+ graphql: () => graphql2,
+ withCustomRequest: () => withCustomRequest
+});
+module.exports = __toCommonJS(dist_src_exports);
+var import_request3 = require("@octokit/request");
+var import_universal_user_agent = require("universal-user-agent");
-Object.defineProperty(exports, '__esModule', { value: true });
+// pkg/dist-src/version.js
+var VERSION = "7.0.2";
-var request = require('@octokit/request');
-var universalUserAgent = require('universal-user-agent');
+// pkg/dist-src/with-defaults.js
+var import_request2 = require("@octokit/request");
-const VERSION = "4.8.0";
+// pkg/dist-src/graphql.js
+var import_request = require("@octokit/request");
+// pkg/dist-src/error.js
function _buildMessageForResponseErrors(data) {
- return `Request failed due to following response errors:\n` + data.errors.map(e => ` - ${e.message}`).join("\n");
+ return `Request failed due to following response errors:
+` + data.errors.map((e) => ` - ${e.message}`).join("\n");
}
-
-class GraphqlResponseError extends Error {
- constructor(request, headers, response) {
+var GraphqlResponseError = class extends Error {
+ constructor(request2, headers, response) {
super(_buildMessageForResponseErrors(response));
- this.request = request;
+ this.request = request2;
this.headers = headers;
this.response = response;
- this.name = "GraphqlResponseError"; // Expose the errors and response data in their shorthand properties.
-
+ this.name = "GraphqlResponseError";
this.errors = response.errors;
- this.data = response.data; // Maintains proper stack trace (only available on V8)
-
- /* istanbul ignore next */
-
+ this.data = response.data;
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor);
}
}
-
-}
-
-const NON_VARIABLE_OPTIONS = ["method", "baseUrl", "url", "headers", "request", "query", "mediaType"];
-const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
-const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
-function graphql(request, query, options) {
+};
+
+// pkg/dist-src/graphql.js
+var NON_VARIABLE_OPTIONS = [
+ "method",
+ "baseUrl",
+ "url",
+ "headers",
+ "request",
+ "query",
+ "mediaType"
+];
+var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
+var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
+function graphql(request2, query, options) {
if (options) {
if (typeof query === "string" && "query" in options) {
- return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`));
+ return Promise.reject(
+ new Error(`[@octokit/graphql] "query" cannot be used as variable name`)
+ );
}
-
for (const key in options) {
- if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;
- return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`));
+ if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))
+ continue;
+ return Promise.reject(
+ new Error(
+ `[@octokit/graphql] "${key}" cannot be used as variable name`
+ )
+ );
}
}
-
- const parsedOptions = typeof query === "string" ? Object.assign({
- query
- }, options) : query;
- const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {
+ const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
+ const requestOptions = Object.keys(
+ parsedOptions
+ ).reduce((result, key) => {
if (NON_VARIABLE_OPTIONS.includes(key)) {
result[key] = parsedOptions[key];
return result;
}
-
if (!result.variables) {
result.variables = {};
}
-
result.variables[key] = parsedOptions[key];
return result;
- }, {}); // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix
- // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451
-
- const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;
-
+ }, {});
+ const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;
if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
}
-
- return request(requestOptions).then(response => {
+ return request2(requestOptions).then((response) => {
if (response.data.errors) {
const headers = {};
-
for (const key of Object.keys(response.headers)) {
headers[key] = response.headers[key];
}
-
- throw new GraphqlResponseError(requestOptions, headers, response.data);
+ throw new GraphqlResponseError(
+ requestOptions,
+ headers,
+ response.data
+ );
}
-
return response.data.data;
});
}
-function withDefaults(request$1, newDefaults) {
- const newRequest = request$1.defaults(newDefaults);
-
+// pkg/dist-src/with-defaults.js
+function withDefaults(request2, newDefaults) {
+ const newRequest = request2.defaults(newDefaults);
const newApi = (query, options) => {
return graphql(newRequest, query, options);
};
-
return Object.assign(newApi, {
defaults: withDefaults.bind(null, newRequest),
- endpoint: request.request.endpoint
+ endpoint: newRequest.endpoint
});
}
-const graphql$1 = withDefaults(request.request, {
+// pkg/dist-src/index.js
+var graphql2 = withDefaults(import_request3.request, {
headers: {
- "user-agent": `octokit-graphql.js/${VERSION} ${universalUserAgent.getUserAgent()}`
+ "user-agent": `octokit-graphql.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`
},
method: "POST",
url: "/graphql"
@@ -111,8 +146,9 @@ function withCustomRequest(customRequest) {
url: "/graphql"
});
}
-
-exports.GraphqlResponseError = GraphqlResponseError;
-exports.graphql = graphql$1;
-exports.withCustomRequest = withCustomRequest;
-//# sourceMappingURL=index.js.map
+// Annotate the CommonJS export names for ESM import in node:
+0 && (module.exports = {
+ GraphqlResponseError,
+ graphql,
+ withCustomRequest
+});
diff --git a/node_modules/@octokit/graphql/dist-node/index.js.map b/node_modules/@octokit/graphql/dist-node/index.js.map
index 873a8d4e..a9d0f751 100644
--- a/node_modules/@octokit/graphql/dist-node/index.js.map
+++ b/node_modules/@octokit/graphql/dist-node/index.js.map
@@ -1 +1,7 @@
-{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.8.0\";\n","function _buildMessageForResponseErrors(data) {\n return (`Request failed due to following response errors:\\n` +\n data.errors.map((e) => ` - ${e.message}`).join(\"\\n\"));\n}\nexport class GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n // Expose the errors and response data in their shorthand properties.\n this.errors = response.errors;\n this.data = response.data;\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\n","import { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport { GraphqlResponseError } from \"./error\";\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["VERSION","_buildMessageForResponseErrors","data","errors","map","e","message","join","GraphqlResponseError","Error","constructor","request","headers","response","name","captureStackTrace","NON_VARIABLE_OPTIONS","FORBIDDEN_VARIABLE_OPTIONS","GHES_V3_SUFFIX_REGEX","graphql","query","options","Promise","reject","key","includes","parsedOptions","Object","assign","requestOptions","keys","reduce","result","variables","baseUrl","endpoint","DEFAULTS","test","url","replace","then","withDefaults","newDefaults","newRequest","defaults","newApi","bind","Request","getUserAgent","method","withCustomRequest","customRequest"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,mBAAhB;;ACAP,SAASC,8BAAT,CAAwCC,IAAxC,EAA8C;AAC1C,SAAS,oDAAD,GACJA,IAAI,CAACC,MAAL,CAAYC,GAAZ,CAAiBC,CAAD,IAAQ,MAAKA,CAAC,CAACC,OAAQ,EAAvC,EAA0CC,IAA1C,CAA+C,IAA/C,CADJ;AAEH;;AACD,AAAO,MAAMC,oBAAN,SAAmCC,KAAnC,CAAyC;AAC5CC,EAAAA,WAAW,CAACC,OAAD,EAAUC,OAAV,EAAmBC,QAAnB,EAA6B;AACpC,UAAMZ,8BAA8B,CAACY,QAAD,CAApC;AACA,SAAKF,OAAL,GAAeA,OAAf;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKC,QAAL,GAAgBA,QAAhB;AACA,SAAKC,IAAL,GAAY,sBAAZ,CALoC;;AAOpC,SAAKX,MAAL,GAAcU,QAAQ,CAACV,MAAvB;AACA,SAAKD,IAAL,GAAYW,QAAQ,CAACX,IAArB,CARoC;;AAUpC;;AACA,QAAIO,KAAK,CAACM,iBAAV,EAA6B;AACzBN,MAAAA,KAAK,CAACM,iBAAN,CAAwB,IAAxB,EAA8B,KAAKL,WAAnC;AACH;AACJ;;AAf2C;;ACHhD,MAAMM,oBAAoB,GAAG,CACzB,QADyB,EAEzB,SAFyB,EAGzB,KAHyB,EAIzB,SAJyB,EAKzB,SALyB,EAMzB,OANyB,EAOzB,WAPyB,CAA7B;AASA,MAAMC,0BAA0B,GAAG,CAAC,OAAD,EAAU,QAAV,EAAoB,KAApB,CAAnC;AACA,MAAMC,oBAAoB,GAAG,eAA7B;AACA,AAAO,SAASC,OAAT,CAAiBR,OAAjB,EAA0BS,KAA1B,EAAiCC,OAAjC,EAA0C;AAC7C,MAAIA,OAAJ,EAAa;AACT,QAAI,OAAOD,KAAP,KAAiB,QAAjB,IAA6B,WAAWC,OAA5C,EAAqD;AACjD,aAAOC,OAAO,CAACC,MAAR,CAAe,IAAId,KAAJ,CAAW,4DAAX,CAAf,CAAP;AACH;;AACD,SAAK,MAAMe,GAAX,IAAkBH,OAAlB,EAA2B;AACvB,UAAI,CAACJ,0BAA0B,CAACQ,QAA3B,CAAoCD,GAApC,CAAL,EACI;AACJ,aAAOF,OAAO,CAACC,MAAR,CAAe,IAAId,KAAJ,CAAW,uBAAsBe,GAAI,mCAArC,CAAf,CAAP;AACH;AACJ;;AACD,QAAME,aAAa,GAAG,OAAON,KAAP,KAAiB,QAAjB,GAA4BO,MAAM,CAACC,MAAP,CAAc;AAAER,IAAAA;AAAF,GAAd,EAAyBC,OAAzB,CAA5B,GAAgED,KAAtF;AACA,QAAMS,cAAc,GAAGF,MAAM,CAACG,IAAP,CAAYJ,aAAZ,EAA2BK,MAA3B,CAAkC,CAACC,MAAD,EAASR,GAAT,KAAiB;AACtE,QAAIR,oBAAoB,CAACS,QAArB,CAA8BD,GAA9B,CAAJ,EAAwC;AACpCQ,MAAAA,MAAM,CAACR,GAAD,CAAN,GAAcE,aAAa,CAACF,GAAD,CAA3B;AACA,aAAOQ,MAAP;AACH;;AACD,QAAI,CAACA,MAAM,CAACC,SAAZ,EAAuB;AACnBD,MAAAA,MAAM,CAACC,SAAP,GAAmB,EAAnB;AACH;;AACDD,IAAAA,MAAM,CAACC,SAAP,CAAiBT,GAAjB,IAAwBE,aAAa,CAACF,GAAD,CAArC;AACA,WAAOQ,MAAP;AACH,GAVsB,EAUpB,EAVoB,CAAvB,CAZ6C;AAwB7C;;AACA,QAAME,OAAO,GAAGR,aAAa,CAACQ,OAAd,IAAyBvB,OAAO,CAACwB,QAAR,CAAiBC,QAAjB,CAA0BF,OAAnE;;AACA,MAAIhB,oBAAoB,CAACmB,IAArB,CAA0BH,OAA1B,CAAJ,EAAwC;AACpCL,IAAAA,cAAc,CAACS,GAAf,GAAqBJ,OAAO,CAACK,OAAR,CAAgBrB,oBAAhB,EAAsC,cAAtC,CAArB;AACH;;AACD,SAAOP,OAAO,CAACkB,cAAD,CAAP,CAAwBW,IAAxB,CAA8B3B,QAAD,IAAc;AAC9C,QAAIA,QAAQ,CAACX,IAAT,CAAcC,MAAlB,EAA0B;AACtB,YAAMS,OAAO,GAAG,EAAhB;;AACA,WAAK,MAAMY,GAAX,IAAkBG,MAAM,CAACG,IAAP,CAAYjB,QAAQ,CAACD,OAArB,CAAlB,EAAiD;AAC7CA,QAAAA,OAAO,CAACY,GAAD,CAAP,GAAeX,QAAQ,CAACD,OAAT,CAAiBY,GAAjB,CAAf;AACH;;AACD,YAAM,IAAIhB,oBAAJ,CAAyBqB,cAAzB,EAAyCjB,OAAzC,EAAkDC,QAAQ,CAACX,IAA3D,CAAN;AACH;;AACD,WAAOW,QAAQ,CAACX,IAAT,CAAcA,IAArB;AACH,GATM,CAAP;AAUH;;ACjDM,SAASuC,YAAT,CAAsB9B,SAAtB,EAA+B+B,WAA/B,EAA4C;AAC/C,QAAMC,UAAU,GAAGhC,SAAO,CAACiC,QAAR,CAAiBF,WAAjB,CAAnB;;AACA,QAAMG,MAAM,GAAG,CAACzB,KAAD,EAAQC,OAAR,KAAoB;AAC/B,WAAOF,OAAO,CAACwB,UAAD,EAAavB,KAAb,EAAoBC,OAApB,CAAd;AACH,GAFD;;AAGA,SAAOM,MAAM,CAACC,MAAP,CAAciB,MAAd,EAAsB;AACzBD,IAAAA,QAAQ,EAAEH,YAAY,CAACK,IAAb,CAAkB,IAAlB,EAAwBH,UAAxB,CADe;AAEzBR,IAAAA,QAAQ,EAAEY,eAAO,CAACZ;AAFO,GAAtB,CAAP;AAIH;;MCPYhB,SAAO,GAAGsB,YAAY,CAAC9B,eAAD,EAAU;AACzCC,EAAAA,OAAO,EAAE;AACL,kBAAe,sBAAqBZ,OAAQ,IAAGgD,+BAAY,EAAG;AADzD,GADgC;AAIzCC,EAAAA,MAAM,EAAE,MAJiC;AAKzCX,EAAAA,GAAG,EAAE;AALoC,CAAV,CAA5B;AAOP,AACO,SAASY,iBAAT,CAA2BC,aAA3B,EAA0C;AAC7C,SAAOV,YAAY,CAACU,aAAD,EAAgB;AAC/BF,IAAAA,MAAM,EAAE,MADuB;AAE/BX,IAAAA,GAAG,EAAE;AAF0B,GAAhB,CAAnB;AAIH;;;;;;"}
\ No newline at end of file
+{
+ "version": 3,
+ "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/with-defaults.js", "../dist-src/graphql.js", "../dist-src/error.js"],
+ "sourcesContent": ["import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nconst graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nimport { GraphqlResponseError } from \"./error\";\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql,\n withCustomRequest\n};\n", "const VERSION = \"7.0.2\";\nexport {\n VERSION\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nfunction withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: newRequest.endpoint\n });\n}\nexport {\n withDefaults\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\"\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(\n new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n );\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(\n new Error(\n `[@octokit/graphql] \"${key}\" cannot be used as variable name`\n )\n );\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(\n parsedOptions\n ).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(\n requestOptions,\n headers,\n response.data\n );\n }\n return response.data.data;\n });\n}\nexport {\n graphql\n};\n", "function _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\nexport {\n GraphqlResponseError\n};\n"],
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,iBAAAA;AAAA,EAAA;AAAA;AAAA;AAAA,IAAAC,kBAAwB;AACxB,kCAA6B;;;ACD7B,IAAM,UAAU;;;ACAhB,IAAAC,kBAAmC;;;ACAnC,qBAAmC;;;ACAnC,SAAS,+BAA+B,MAAM;AAC5C,SAAO;AAAA,IACL,KAAK,OAAO,IAAI,CAAC,MAAM,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,IAAI;AACvD;AACA,IAAM,uBAAN,cAAmC,MAAM;AAAA,EACvC,YAAYC,UAAS,SAAS,UAAU;AACtC,UAAM,+BAA+B,QAAQ,CAAC;AAC9C,SAAK,UAAUA;AACf,SAAK,UAAU;AACf,SAAK,WAAW;AAChB,SAAK,OAAO;AACZ,SAAK,SAAS,SAAS;AACvB,SAAK,OAAO,SAAS;AACrB,QAAI,MAAM,mBAAmB;AAC3B,YAAM,kBAAkB,MAAM,KAAK,WAAW;AAAA,IAChD;AAAA,EACF;AACF;;;ADfA,IAAM,uBAAuB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,IAAM,6BAA6B,CAAC,SAAS,UAAU,KAAK;AAC5D,IAAM,uBAAuB;AAC7B,SAAS,QAAQC,UAAS,OAAO,SAAS;AACxC,MAAI,SAAS;AACX,QAAI,OAAO,UAAU,YAAY,WAAW,SAAS;AACnD,aAAO,QAAQ;AAAA,QACb,IAAI,MAAM,4DAA4D;AAAA,MACxE;AAAA,IACF;AACA,eAAW,OAAO,SAAS;AACzB,UAAI,CAAC,2BAA2B,SAAS,GAAG;AAC1C;AACF,aAAO,QAAQ;AAAA,QACb,IAAI;AAAA,UACF,uBAAuB,GAAG;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,QAAM,gBAAgB,OAAO,UAAU,WAAW,OAAO,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI;AACtF,QAAM,iBAAiB,OAAO;AAAA,IAC5B;AAAA,EACF,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACxB,QAAI,qBAAqB,SAAS,GAAG,GAAG;AACtC,aAAO,GAAG,IAAI,cAAc,GAAG;AAC/B,aAAO;AAAA,IACT;AACA,QAAI,CAAC,OAAO,WAAW;AACrB,aAAO,YAAY,CAAC;AAAA,IACtB;AACA,WAAO,UAAU,GAAG,IAAI,cAAc,GAAG;AACzC,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACL,QAAM,UAAU,cAAc,WAAWA,SAAQ,SAAS,SAAS;AACnE,MAAI,qBAAqB,KAAK,OAAO,GAAG;AACtC,mBAAe,MAAM,QAAQ,QAAQ,sBAAsB,cAAc;AAAA,EAC3E;AACA,SAAOA,SAAQ,cAAc,EAAE,KAAK,CAAC,aAAa;AAChD,QAAI,SAAS,KAAK,QAAQ;AACxB,YAAM,UAAU,CAAC;AACjB,iBAAW,OAAO,OAAO,KAAK,SAAS,OAAO,GAAG;AAC/C,gBAAQ,GAAG,IAAI,SAAS,QAAQ,GAAG;AAAA,MACrC;AACA,YAAM,IAAI;AAAA,QACR;AAAA,QACA;AAAA,QACA,SAAS;AAAA,MACX;AAAA,IACF;AACA,WAAO,SAAS,KAAK;AAAA,EACvB,CAAC;AACH;;;AD5DA,SAAS,aAAaC,UAAS,aAAa;AAC1C,QAAM,aAAaA,SAAQ,SAAS,WAAW;AAC/C,QAAM,SAAS,CAAC,OAAO,YAAY;AACjC,WAAO,QAAQ,YAAY,OAAO,OAAO;AAAA,EAC3C;AACA,SAAO,OAAO,OAAO,QAAQ;AAAA,IAC3B,UAAU,aAAa,KAAK,MAAM,UAAU;AAAA,IAC5C,UAAU,WAAW;AAAA,EACvB,CAAC;AACH;;;AFPA,IAAMC,WAAU,aAAa,yBAAS;AAAA,EACpC,SAAS;AAAA,IACP,cAAc,sBAAsB,OAAO,QAAI,0CAAa,CAAC;AAAA,EAC/D;AAAA,EACA,QAAQ;AAAA,EACR,KAAK;AACP,CAAC;AAED,SAAS,kBAAkB,eAAe;AACxC,SAAO,aAAa,eAAe;AAAA,IACjC,QAAQ;AAAA,IACR,KAAK;AAAA,EACP,CAAC;AACH;",
+ "names": ["graphql", "import_request", "import_request", "request", "request", "request", "graphql"]
+}
diff --git a/node_modules/@octokit/graphql/dist-src/error.js b/node_modules/@octokit/graphql/dist-src/error.js
index 182f967a..dd0f4e69 100644
--- a/node_modules/@octokit/graphql/dist-src/error.js
+++ b/node_modules/@octokit/graphql/dist-src/error.js
@@ -1,21 +1,21 @@
function _buildMessageForResponseErrors(data) {
- return (`Request failed due to following response errors:\n` +
- data.errors.map((e) => ` - ${e.message}`).join("\n"));
+ return `Request failed due to following response errors:
+` + data.errors.map((e) => ` - ${e.message}`).join("\n");
}
-export class GraphqlResponseError extends Error {
- constructor(request, headers, response) {
- super(_buildMessageForResponseErrors(response));
- this.request = request;
- this.headers = headers;
- this.response = response;
- this.name = "GraphqlResponseError";
- // Expose the errors and response data in their shorthand properties.
- this.errors = response.errors;
- this.data = response.data;
- // Maintains proper stack trace (only available on V8)
- /* istanbul ignore next */
- if (Error.captureStackTrace) {
- Error.captureStackTrace(this, this.constructor);
- }
+class GraphqlResponseError extends Error {
+ constructor(request, headers, response) {
+ super(_buildMessageForResponseErrors(response));
+ this.request = request;
+ this.headers = headers;
+ this.response = response;
+ this.name = "GraphqlResponseError";
+ this.errors = response.errors;
+ this.data = response.data;
+ if (Error.captureStackTrace) {
+ Error.captureStackTrace(this, this.constructor);
}
+ }
}
+export {
+ GraphqlResponseError
+};
diff --git a/node_modules/@octokit/graphql/dist-src/graphql.js b/node_modules/@octokit/graphql/dist-src/graphql.js
index 8297f845..fda0c5f8 100644
--- a/node_modules/@octokit/graphql/dist-src/graphql.js
+++ b/node_modules/@octokit/graphql/dist-src/graphql.js
@@ -1,52 +1,66 @@
+import { request as Request } from "@octokit/request";
import { GraphqlResponseError } from "./error";
const NON_VARIABLE_OPTIONS = [
- "method",
- "baseUrl",
- "url",
- "headers",
- "request",
- "query",
- "mediaType",
+ "method",
+ "baseUrl",
+ "url",
+ "headers",
+ "request",
+ "query",
+ "mediaType"
];
const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
-export function graphql(request, query, options) {
- if (options) {
- if (typeof query === "string" && "query" in options) {
- return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`));
- }
- for (const key in options) {
- if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))
- continue;
- return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`));
- }
+function graphql(request, query, options) {
+ if (options) {
+ if (typeof query === "string" && "query" in options) {
+ return Promise.reject(
+ new Error(`[@octokit/graphql] "query" cannot be used as variable name`)
+ );
}
- const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
- const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {
- if (NON_VARIABLE_OPTIONS.includes(key)) {
- result[key] = parsedOptions[key];
- return result;
- }
- if (!result.variables) {
- result.variables = {};
- }
- result.variables[key] = parsedOptions[key];
- return result;
- }, {});
- // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix
- // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451
- const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;
- if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
- requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
+ for (const key in options) {
+ if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))
+ continue;
+ return Promise.reject(
+ new Error(
+ `[@octokit/graphql] "${key}" cannot be used as variable name`
+ )
+ );
}
- return request(requestOptions).then((response) => {
- if (response.data.errors) {
- const headers = {};
- for (const key of Object.keys(response.headers)) {
- headers[key] = response.headers[key];
- }
- throw new GraphqlResponseError(requestOptions, headers, response.data);
- }
- return response.data.data;
- });
+ }
+ const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
+ const requestOptions = Object.keys(
+ parsedOptions
+ ).reduce((result, key) => {
+ if (NON_VARIABLE_OPTIONS.includes(key)) {
+ result[key] = parsedOptions[key];
+ return result;
+ }
+ if (!result.variables) {
+ result.variables = {};
+ }
+ result.variables[key] = parsedOptions[key];
+ return result;
+ }, {});
+ const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;
+ if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
+ requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
+ }
+ return request(requestOptions).then((response) => {
+ if (response.data.errors) {
+ const headers = {};
+ for (const key of Object.keys(response.headers)) {
+ headers[key] = response.headers[key];
+ }
+ throw new GraphqlResponseError(
+ requestOptions,
+ headers,
+ response.data
+ );
+ }
+ return response.data.data;
+ });
}
+export {
+ graphql
+};
diff --git a/node_modules/@octokit/graphql/dist-src/index.js b/node_modules/@octokit/graphql/dist-src/index.js
index 2a7d06b9..4e7deb5b 100644
--- a/node_modules/@octokit/graphql/dist-src/index.js
+++ b/node_modules/@octokit/graphql/dist-src/index.js
@@ -2,17 +2,22 @@ import { request } from "@octokit/request";
import { getUserAgent } from "universal-user-agent";
import { VERSION } from "./version";
import { withDefaults } from "./with-defaults";
-export const graphql = withDefaults(request, {
- headers: {
- "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,
- },
- method: "POST",
- url: "/graphql",
+const graphql = withDefaults(request, {
+ headers: {
+ "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}`
+ },
+ method: "POST",
+ url: "/graphql"
});
-export { GraphqlResponseError } from "./error";
-export function withCustomRequest(customRequest) {
- return withDefaults(customRequest, {
- method: "POST",
- url: "/graphql",
- });
+import { GraphqlResponseError } from "./error";
+function withCustomRequest(customRequest) {
+ return withDefaults(customRequest, {
+ method: "POST",
+ url: "/graphql"
+ });
}
+export {
+ GraphqlResponseError,
+ graphql,
+ withCustomRequest
+};
diff --git a/node_modules/@octokit/graphql/dist-src/types.js b/node_modules/@octokit/graphql/dist-src/types.js
deleted file mode 100644
index cb0ff5c3..00000000
--- a/node_modules/@octokit/graphql/dist-src/types.js
+++ /dev/null
@@ -1 +0,0 @@
-export {};
diff --git a/node_modules/@octokit/graphql/dist-src/version.js b/node_modules/@octokit/graphql/dist-src/version.js
index 3a4f8fff..ad9f40de 100644
--- a/node_modules/@octokit/graphql/dist-src/version.js
+++ b/node_modules/@octokit/graphql/dist-src/version.js
@@ -1 +1,4 @@
-export const VERSION = "4.8.0";
+const VERSION = "7.0.2";
+export {
+ VERSION
+};
diff --git a/node_modules/@octokit/graphql/dist-src/with-defaults.js b/node_modules/@octokit/graphql/dist-src/with-defaults.js
index 6ea309e3..853ce88f 100644
--- a/node_modules/@octokit/graphql/dist-src/with-defaults.js
+++ b/node_modules/@octokit/graphql/dist-src/with-defaults.js
@@ -1,12 +1,15 @@
import { request as Request } from "@octokit/request";
import { graphql } from "./graphql";
-export function withDefaults(request, newDefaults) {
- const newRequest = request.defaults(newDefaults);
- const newApi = (query, options) => {
- return graphql(newRequest, query, options);
- };
- return Object.assign(newApi, {
- defaults: withDefaults.bind(null, newRequest),
- endpoint: Request.endpoint,
- });
+function withDefaults(request, newDefaults) {
+ const newRequest = request.defaults(newDefaults);
+ const newApi = (query, options) => {
+ return graphql(newRequest, query, options);
+ };
+ return Object.assign(newApi, {
+ defaults: withDefaults.bind(null, newRequest),
+ endpoint: newRequest.endpoint
+ });
}
+export {
+ withDefaults
+};
diff --git a/node_modules/@octokit/graphql/dist-types/error.d.ts b/node_modules/@octokit/graphql/dist-types/error.d.ts
index 3bd37ada..e921bfa5 100644
--- a/node_modules/@octokit/graphql/dist-types/error.d.ts
+++ b/node_modules/@octokit/graphql/dist-types/error.d.ts
@@ -1,6 +1,6 @@
-import { ResponseHeaders } from "@octokit/types";
-import { GraphQlEndpointOptions, GraphQlQueryResponse } from "./types";
-declare type ServerResponseData = Required>;
+import type { ResponseHeaders } from "@octokit/types";
+import type { GraphQlEndpointOptions, GraphQlQueryResponse } from "./types";
+type ServerResponseData = Required>;
export declare class GraphqlResponseError extends Error {
readonly request: GraphQlEndpointOptions;
readonly headers: ResponseHeaders;
diff --git a/node_modules/@octokit/graphql/dist-types/graphql.d.ts b/node_modules/@octokit/graphql/dist-types/graphql.d.ts
index 2942b8b6..376e5dfe 100644
--- a/node_modules/@octokit/graphql/dist-types/graphql.d.ts
+++ b/node_modules/@octokit/graphql/dist-types/graphql.d.ts
@@ -1,3 +1,3 @@
import { request as Request } from "@octokit/request";
-import { RequestParameters, GraphQlQueryResponseData } from "./types";
+import type { RequestParameters, GraphQlQueryResponseData } from "./types";
export declare function graphql(request: typeof Request, query: string | RequestParameters, options?: RequestParameters): Promise;
diff --git a/node_modules/@octokit/graphql/dist-types/index.d.ts b/node_modules/@octokit/graphql/dist-types/index.d.ts
index 282f98ae..c9b22c94 100644
--- a/node_modules/@octokit/graphql/dist-types/index.d.ts
+++ b/node_modules/@octokit/graphql/dist-types/index.d.ts
@@ -1,5 +1,5 @@
import { request } from "@octokit/request";
export declare const graphql: import("./types").graphql;
-export { GraphQlQueryResponseData } from "./types";
+export type { GraphQlQueryResponseData } from "./types";
export { GraphqlResponseError } from "./error";
export declare function withCustomRequest(customRequest: typeof request): import("./types").graphql;
diff --git a/node_modules/@octokit/graphql/dist-types/types.d.ts b/node_modules/@octokit/graphql/dist-types/types.d.ts
index b266bdbb..ceba0258 100644
--- a/node_modules/@octokit/graphql/dist-types/types.d.ts
+++ b/node_modules/@octokit/graphql/dist-types/types.d.ts
@@ -1,11 +1,11 @@
-import { EndpointOptions, RequestParameters as RequestParametersType, EndpointInterface } from "@octokit/types";
-export declare type GraphQlEndpointOptions = EndpointOptions & {
+import type { EndpointOptions, RequestParameters as RequestParametersType, EndpointInterface } from "@octokit/types";
+export type GraphQlEndpointOptions = EndpointOptions & {
variables?: {
[key: string]: unknown;
};
};
-export declare type RequestParameters = RequestParametersType;
-export declare type Query = string;
+export type RequestParameters = RequestParametersType;
+export type Query = string;
export interface graphql {
/**
* Sends a GraphQL query request based on endpoint options
@@ -30,11 +30,11 @@ export interface graphql {
*/
endpoint: EndpointInterface;
}
-export declare type GraphQlResponse = Promise;
-export declare type GraphQlQueryResponseData = {
+export type GraphQlResponse = Promise;
+export type GraphQlQueryResponseData = {
[key: string]: any;
};
-export declare type GraphQlQueryResponse = {
+export type GraphQlQueryResponse = {
data: ResponseData;
errors?: [
{
diff --git a/node_modules/@octokit/graphql/dist-types/version.d.ts b/node_modules/@octokit/graphql/dist-types/version.d.ts
index e80848ef..d5b16a17 100644
--- a/node_modules/@octokit/graphql/dist-types/version.d.ts
+++ b/node_modules/@octokit/graphql/dist-types/version.d.ts
@@ -1 +1 @@
-export declare const VERSION = "4.8.0";
+export declare const VERSION = "7.0.2";
diff --git a/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts b/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts
index 03edc320..28f22dc2 100644
--- a/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts
+++ b/node_modules/@octokit/graphql/dist-types/with-defaults.d.ts
@@ -1,3 +1,3 @@
import { request as Request } from "@octokit/request";
-import { graphql as ApiInterface, RequestParameters } from "./types";
+import type { graphql as ApiInterface, RequestParameters } from "./types";
export declare function withDefaults(request: typeof Request, newDefaults: RequestParameters): ApiInterface;
diff --git a/node_modules/@octokit/graphql/dist-web/index.js b/node_modules/@octokit/graphql/dist-web/index.js
index 5307e263..9a07f450 100644
--- a/node_modules/@octokit/graphql/dist-web/index.js
+++ b/node_modules/@octokit/graphql/dist-web/index.js
@@ -1,106 +1,127 @@
-import { request } from '@octokit/request';
-import { getUserAgent } from 'universal-user-agent';
+// pkg/dist-src/index.js
+import { request } from "@octokit/request";
+import { getUserAgent } from "universal-user-agent";
-const VERSION = "4.8.0";
+// pkg/dist-src/version.js
+var VERSION = "7.0.2";
+// pkg/dist-src/with-defaults.js
+import { request as Request2 } from "@octokit/request";
+
+// pkg/dist-src/graphql.js
+import { request as Request } from "@octokit/request";
+
+// pkg/dist-src/error.js
function _buildMessageForResponseErrors(data) {
- return (`Request failed due to following response errors:\n` +
- data.errors.map((e) => ` - ${e.message}`).join("\n"));
+ return `Request failed due to following response errors:
+` + data.errors.map((e) => ` - ${e.message}`).join("\n");
}
-class GraphqlResponseError extends Error {
- constructor(request, headers, response) {
- super(_buildMessageForResponseErrors(response));
- this.request = request;
- this.headers = headers;
- this.response = response;
- this.name = "GraphqlResponseError";
- // Expose the errors and response data in their shorthand properties.
- this.errors = response.errors;
- this.data = response.data;
- // Maintains proper stack trace (only available on V8)
- /* istanbul ignore next */
- if (Error.captureStackTrace) {
- Error.captureStackTrace(this, this.constructor);
- }
+var GraphqlResponseError = class extends Error {
+ constructor(request2, headers, response) {
+ super(_buildMessageForResponseErrors(response));
+ this.request = request2;
+ this.headers = headers;
+ this.response = response;
+ this.name = "GraphqlResponseError";
+ this.errors = response.errors;
+ this.data = response.data;
+ if (Error.captureStackTrace) {
+ Error.captureStackTrace(this, this.constructor);
}
-}
+ }
+};
-const NON_VARIABLE_OPTIONS = [
- "method",
- "baseUrl",
- "url",
- "headers",
- "request",
- "query",
- "mediaType",
+// pkg/dist-src/graphql.js
+var NON_VARIABLE_OPTIONS = [
+ "method",
+ "baseUrl",
+ "url",
+ "headers",
+ "request",
+ "query",
+ "mediaType"
];
-const FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
-const GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
-function graphql(request, query, options) {
- if (options) {
- if (typeof query === "string" && "query" in options) {
- return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`));
- }
- for (const key in options) {
- if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))
- continue;
- return Promise.reject(new Error(`[@octokit/graphql] "${key}" cannot be used as variable name`));
- }
+var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
+var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
+function graphql(request2, query, options) {
+ if (options) {
+ if (typeof query === "string" && "query" in options) {
+ return Promise.reject(
+ new Error(`[@octokit/graphql] "query" cannot be used as variable name`)
+ );
+ }
+ for (const key in options) {
+ if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))
+ continue;
+ return Promise.reject(
+ new Error(
+ `[@octokit/graphql] "${key}" cannot be used as variable name`
+ )
+ );
+ }
+ }
+ const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
+ const requestOptions = Object.keys(
+ parsedOptions
+ ).reduce((result, key) => {
+ if (NON_VARIABLE_OPTIONS.includes(key)) {
+ result[key] = parsedOptions[key];
+ return result;
}
- const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
- const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {
- if (NON_VARIABLE_OPTIONS.includes(key)) {
- result[key] = parsedOptions[key];
- return result;
- }
- if (!result.variables) {
- result.variables = {};
- }
- result.variables[key] = parsedOptions[key];
- return result;
- }, {});
- // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix
- // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451
- const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;
- if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
- requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
+ if (!result.variables) {
+ result.variables = {};
}
- return request(requestOptions).then((response) => {
- if (response.data.errors) {
- const headers = {};
- for (const key of Object.keys(response.headers)) {
- headers[key] = response.headers[key];
- }
- throw new GraphqlResponseError(requestOptions, headers, response.data);
- }
- return response.data.data;
- });
+ result.variables[key] = parsedOptions[key];
+ return result;
+ }, {});
+ const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;
+ if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
+ requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
+ }
+ return request2(requestOptions).then((response) => {
+ if (response.data.errors) {
+ const headers = {};
+ for (const key of Object.keys(response.headers)) {
+ headers[key] = response.headers[key];
+ }
+ throw new GraphqlResponseError(
+ requestOptions,
+ headers,
+ response.data
+ );
+ }
+ return response.data.data;
+ });
}
-function withDefaults(request$1, newDefaults) {
- const newRequest = request$1.defaults(newDefaults);
- const newApi = (query, options) => {
- return graphql(newRequest, query, options);
- };
- return Object.assign(newApi, {
- defaults: withDefaults.bind(null, newRequest),
- endpoint: request.endpoint,
- });
+// pkg/dist-src/with-defaults.js
+function withDefaults(request2, newDefaults) {
+ const newRequest = request2.defaults(newDefaults);
+ const newApi = (query, options) => {
+ return graphql(newRequest, query, options);
+ };
+ return Object.assign(newApi, {
+ defaults: withDefaults.bind(null, newRequest),
+ endpoint: newRequest.endpoint
+ });
}
-const graphql$1 = withDefaults(request, {
- headers: {
- "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,
- },
- method: "POST",
- url: "/graphql",
+// pkg/dist-src/index.js
+var graphql2 = withDefaults(request, {
+ headers: {
+ "user-agent": `octokit-graphql.js/${VERSION} ${getUserAgent()}`
+ },
+ method: "POST",
+ url: "/graphql"
});
function withCustomRequest(customRequest) {
- return withDefaults(customRequest, {
- method: "POST",
- url: "/graphql",
- });
+ return withDefaults(customRequest, {
+ method: "POST",
+ url: "/graphql"
+ });
}
-
-export { GraphqlResponseError, graphql$1 as graphql, withCustomRequest };
-//# sourceMappingURL=index.js.map
+export {
+ GraphqlResponseError,
+ graphql2 as graphql,
+ withCustomRequest
+};
diff --git a/node_modules/@octokit/graphql/dist-web/index.js.map b/node_modules/@octokit/graphql/dist-web/index.js.map
index 3c6a6ed8..dda71d30 100644
--- a/node_modules/@octokit/graphql/dist-web/index.js.map
+++ b/node_modules/@octokit/graphql/dist-web/index.js.map
@@ -1 +1,7 @@
-{"version":3,"file":"index.js","sources":["../dist-src/version.js","../dist-src/error.js","../dist-src/graphql.js","../dist-src/with-defaults.js","../dist-src/index.js"],"sourcesContent":["export const VERSION = \"4.8.0\";\n","function _buildMessageForResponseErrors(data) {\n return (`Request failed due to following response errors:\\n` +\n data.errors.map((e) => ` - ${e.message}`).join(\"\\n\"));\n}\nexport class GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n // Expose the errors and response data in their shorthand properties.\n this.errors = response.errors;\n this.data = response.data;\n // Maintains proper stack trace (only available on V8)\n /* istanbul ignore next */\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\n","import { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\",\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nexport function graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`));\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(new Error(`[@octokit/graphql] \"${key}\" cannot be used as variable name`));\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(parsedOptions).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n // workaround for GitHub Enterprise baseUrl set with /api/v3 suffix\n // https://github.com/octokit/auth-app.js/issues/111#issuecomment-657610451\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(requestOptions, headers, response.data);\n }\n return response.data.data;\n });\n}\n","import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nexport function withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: Request.endpoint,\n });\n}\n","import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nexport const graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`,\n },\n method: \"POST\",\n url: \"/graphql\",\n});\nexport { GraphqlResponseError } from \"./error\";\nexport function withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\",\n });\n}\n"],"names":["request","Request","graphql"],"mappings":";;;AAAO,MAAM,OAAO,GAAG,mBAAmB;;ACA1C,SAAS,8BAA8B,CAAC,IAAI,EAAE;AAC9C,IAAI,QAAQ,CAAC,kDAAkD,CAAC;AAChE,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC9D,CAAC;AACD,AAAO,MAAM,oBAAoB,SAAS,KAAK,CAAC;AAChD,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;AAC5C,QAAQ,KAAK,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC;AACxD,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,QAAQ,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;AAC3C;AACA,QAAQ,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;AACtC,QAAQ,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AAClC;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE;AACrC,YAAY,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5D,SAAS;AACT,KAAK;AACL,CAAC;;ACnBD,MAAM,oBAAoB,GAAG;AAC7B,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,WAAW;AACf,CAAC,CAAC;AACF,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9D,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAC7C,AAAO,SAAS,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AACjD,IAAI,IAAI,OAAO,EAAE;AACjB,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,EAAE;AAC7D,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,CAAC;AAC3G,SAAS;AACT,QAAQ,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;AACnC,YAAY,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzD,gBAAgB,SAAS;AACzB,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,oBAAoB,EAAE,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC;AAC5G,SAAS;AACT,KAAK;AACL,IAAI,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;AAChG,IAAI,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK;AAC9E,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAChD,YAAY,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7C,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AAC/B,YAAY,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;AAClC,SAAS;AACT,QAAQ,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;AACnD,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,EAAE,EAAE,CAAC,CAAC;AACX;AACA;AACA,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC/E,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAC5C,QAAQ,cAAc,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK;AACtD,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;AAClC,YAAY,MAAM,OAAO,GAAG,EAAE,CAAC;AAC/B,YAAY,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAC7D,gBAAgB,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACrD,aAAa;AACb,YAAY,MAAM,IAAI,oBAAoB,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnF,SAAS;AACT,QAAQ,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;ACjDM,SAAS,YAAY,CAACA,SAAO,EAAE,WAAW,EAAE;AACnD,IAAI,MAAM,UAAU,GAAGA,SAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACrD,IAAI,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK;AACvC,QAAQ,OAAO,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACnD,KAAK,CAAC;AACN,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AACjC,QAAQ,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;AACrD,QAAQ,QAAQ,EAAEC,OAAO,CAAC,QAAQ;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;ACPW,MAACC,SAAO,GAAG,YAAY,CAAC,OAAO,EAAE;AAC7C,IAAI,OAAO,EAAE;AACb,QAAQ,YAAY,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,MAAM,EAAE,MAAM;AAClB,IAAI,GAAG,EAAE,UAAU;AACnB,CAAC,CAAC,CAAC;AACH,AACO,SAAS,iBAAiB,CAAC,aAAa,EAAE;AACjD,IAAI,OAAO,YAAY,CAAC,aAAa,EAAE;AACvC,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,GAAG,EAAE,UAAU;AACvB,KAAK,CAAC,CAAC;AACP,CAAC;;;;"}
\ No newline at end of file
+{
+ "version": 3,
+ "sources": ["../dist-src/index.js", "../dist-src/version.js", "../dist-src/with-defaults.js", "../dist-src/graphql.js", "../dist-src/error.js"],
+ "sourcesContent": ["import { request } from \"@octokit/request\";\nimport { getUserAgent } from \"universal-user-agent\";\nimport { VERSION } from \"./version\";\nimport { withDefaults } from \"./with-defaults\";\nconst graphql = withDefaults(request, {\n headers: {\n \"user-agent\": `octokit-graphql.js/${VERSION} ${getUserAgent()}`\n },\n method: \"POST\",\n url: \"/graphql\"\n});\nimport { GraphqlResponseError } from \"./error\";\nfunction withCustomRequest(customRequest) {\n return withDefaults(customRequest, {\n method: \"POST\",\n url: \"/graphql\"\n });\n}\nexport {\n GraphqlResponseError,\n graphql,\n withCustomRequest\n};\n", "const VERSION = \"7.0.2\";\nexport {\n VERSION\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { graphql } from \"./graphql\";\nfunction withDefaults(request, newDefaults) {\n const newRequest = request.defaults(newDefaults);\n const newApi = (query, options) => {\n return graphql(newRequest, query, options);\n };\n return Object.assign(newApi, {\n defaults: withDefaults.bind(null, newRequest),\n endpoint: newRequest.endpoint\n });\n}\nexport {\n withDefaults\n};\n", "import { request as Request } from \"@octokit/request\";\nimport { GraphqlResponseError } from \"./error\";\nconst NON_VARIABLE_OPTIONS = [\n \"method\",\n \"baseUrl\",\n \"url\",\n \"headers\",\n \"request\",\n \"query\",\n \"mediaType\"\n];\nconst FORBIDDEN_VARIABLE_OPTIONS = [\"query\", \"method\", \"url\"];\nconst GHES_V3_SUFFIX_REGEX = /\\/api\\/v3\\/?$/;\nfunction graphql(request, query, options) {\n if (options) {\n if (typeof query === \"string\" && \"query\" in options) {\n return Promise.reject(\n new Error(`[@octokit/graphql] \"query\" cannot be used as variable name`)\n );\n }\n for (const key in options) {\n if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key))\n continue;\n return Promise.reject(\n new Error(\n `[@octokit/graphql] \"${key}\" cannot be used as variable name`\n )\n );\n }\n }\n const parsedOptions = typeof query === \"string\" ? Object.assign({ query }, options) : query;\n const requestOptions = Object.keys(\n parsedOptions\n ).reduce((result, key) => {\n if (NON_VARIABLE_OPTIONS.includes(key)) {\n result[key] = parsedOptions[key];\n return result;\n }\n if (!result.variables) {\n result.variables = {};\n }\n result.variables[key] = parsedOptions[key];\n return result;\n }, {});\n const baseUrl = parsedOptions.baseUrl || request.endpoint.DEFAULTS.baseUrl;\n if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {\n requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, \"/api/graphql\");\n }\n return request(requestOptions).then((response) => {\n if (response.data.errors) {\n const headers = {};\n for (const key of Object.keys(response.headers)) {\n headers[key] = response.headers[key];\n }\n throw new GraphqlResponseError(\n requestOptions,\n headers,\n response.data\n );\n }\n return response.data.data;\n });\n}\nexport {\n graphql\n};\n", "function _buildMessageForResponseErrors(data) {\n return `Request failed due to following response errors:\n` + data.errors.map((e) => ` - ${e.message}`).join(\"\\n\");\n}\nclass GraphqlResponseError extends Error {\n constructor(request, headers, response) {\n super(_buildMessageForResponseErrors(response));\n this.request = request;\n this.headers = headers;\n this.response = response;\n this.name = \"GraphqlResponseError\";\n this.errors = response.errors;\n this.data = response.data;\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\nexport {\n GraphqlResponseError\n};\n"],
+ "mappings": ";AAAA,SAAS,eAAe;AACxB,SAAS,oBAAoB;;;ACD7B,IAAM,UAAU;;;ACAhB,SAAS,WAAWA,gBAAe;;;ACAnC,SAAS,WAAW,eAAe;;;ACAnC,SAAS,+BAA+B,MAAM;AAC5C,SAAO;AAAA,IACL,KAAK,OAAO,IAAI,CAAC,MAAM,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,IAAI;AACvD;AACA,IAAM,uBAAN,cAAmC,MAAM;AAAA,EACvC,YAAYC,UAAS,SAAS,UAAU;AACtC,UAAM,+BAA+B,QAAQ,CAAC;AAC9C,SAAK,UAAUA;AACf,SAAK,UAAU;AACf,SAAK,WAAW;AAChB,SAAK,OAAO;AACZ,SAAK,SAAS,SAAS;AACvB,SAAK,OAAO,SAAS;AACrB,QAAI,MAAM,mBAAmB;AAC3B,YAAM,kBAAkB,MAAM,KAAK,WAAW;AAAA,IAChD;AAAA,EACF;AACF;;;ADfA,IAAM,uBAAuB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,IAAM,6BAA6B,CAAC,SAAS,UAAU,KAAK;AAC5D,IAAM,uBAAuB;AAC7B,SAAS,QAAQC,UAAS,OAAO,SAAS;AACxC,MAAI,SAAS;AACX,QAAI,OAAO,UAAU,YAAY,WAAW,SAAS;AACnD,aAAO,QAAQ;AAAA,QACb,IAAI,MAAM,4DAA4D;AAAA,MACxE;AAAA,IACF;AACA,eAAW,OAAO,SAAS;AACzB,UAAI,CAAC,2BAA2B,SAAS,GAAG;AAC1C;AACF,aAAO,QAAQ;AAAA,QACb,IAAI;AAAA,UACF,uBAAuB,GAAG;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,QAAM,gBAAgB,OAAO,UAAU,WAAW,OAAO,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI;AACtF,QAAM,iBAAiB,OAAO;AAAA,IAC5B;AAAA,EACF,EAAE,OAAO,CAAC,QAAQ,QAAQ;AACxB,QAAI,qBAAqB,SAAS,GAAG,GAAG;AACtC,aAAO,GAAG,IAAI,cAAc,GAAG;AAC/B,aAAO;AAAA,IACT;AACA,QAAI,CAAC,OAAO,WAAW;AACrB,aAAO,YAAY,CAAC;AAAA,IACtB;AACA,WAAO,UAAU,GAAG,IAAI,cAAc,GAAG;AACzC,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACL,QAAM,UAAU,cAAc,WAAWA,SAAQ,SAAS,SAAS;AACnE,MAAI,qBAAqB,KAAK,OAAO,GAAG;AACtC,mBAAe,MAAM,QAAQ,QAAQ,sBAAsB,cAAc;AAAA,EAC3E;AACA,SAAOA,SAAQ,cAAc,EAAE,KAAK,CAAC,aAAa;AAChD,QAAI,SAAS,KAAK,QAAQ;AACxB,YAAM,UAAU,CAAC;AACjB,iBAAW,OAAO,OAAO,KAAK,SAAS,OAAO,GAAG;AAC/C,gBAAQ,GAAG,IAAI,SAAS,QAAQ,GAAG;AAAA,MACrC;AACA,YAAM,IAAI;AAAA,QACR;AAAA,QACA;AAAA,QACA,SAAS;AAAA,MACX;AAAA,IACF;AACA,WAAO,SAAS,KAAK;AAAA,EACvB,CAAC;AACH;;;AD5DA,SAAS,aAAaC,UAAS,aAAa;AAC1C,QAAM,aAAaA,SAAQ,SAAS,WAAW;AAC/C,QAAM,SAAS,CAAC,OAAO,YAAY;AACjC,WAAO,QAAQ,YAAY,OAAO,OAAO;AAAA,EAC3C;AACA,SAAO,OAAO,OAAO,QAAQ;AAAA,IAC3B,UAAU,aAAa,KAAK,MAAM,UAAU;AAAA,IAC5C,UAAU,WAAW;AAAA,EACvB,CAAC;AACH;;;AFPA,IAAMC,WAAU,aAAa,SAAS;AAAA,EACpC,SAAS;AAAA,IACP,cAAc,sBAAsB,OAAO,IAAI,aAAa,CAAC;AAAA,EAC/D;AAAA,EACA,QAAQ;AAAA,EACR,KAAK;AACP,CAAC;AAED,SAAS,kBAAkB,eAAe;AACxC,SAAO,aAAa,eAAe;AAAA,IACjC,QAAQ;AAAA,IACR,KAAK;AAAA,EACP,CAAC;AACH;",
+ "names": ["Request", "request", "request", "request", "graphql"]
+}
diff --git a/node_modules/@octokit/graphql/package.json b/node_modules/@octokit/graphql/package.json
index 9ba3cb73..342c1bcf 100644
--- a/node_modules/@octokit/graphql/package.json
+++ b/node_modules/@octokit/graphql/package.json
@@ -1,47 +1,48 @@
{
"name": "@octokit/graphql",
+ "version": "7.0.2",
+ "publishConfig": {
+ "access": "public"
+ },
"description": "GitHub GraphQL API client for browsers and Node",
- "version": "4.8.0",
- "license": "MIT",
- "files": [
- "dist-*/",
- "bin/"
- ],
- "pika": true,
- "sideEffects": false,
+ "repository": "github:octokit/graphql.js",
"keywords": [
"octokit",
"github",
"api",
"graphql"
],
- "repository": "github:octokit/graphql.js",
+ "author": "Gregor Martynus (https://github.com/gr2m)",
+ "license": "MIT",
"dependencies": {
- "@octokit/request": "^5.6.0",
- "@octokit/types": "^6.0.3",
+ "@octokit/request": "^8.0.1",
+ "@octokit/types": "^12.0.0",
"universal-user-agent": "^6.0.0"
},
"devDependencies": {
- "@pika/pack": "^0.5.0",
- "@pika/plugin-build-node": "^0.9.0",
- "@pika/plugin-build-web": "^0.9.0",
- "@pika/plugin-ts-standard-pkg": "^0.9.0",
+ "@octokit/tsconfig": "^2.0.0",
"@types/fetch-mock": "^7.2.5",
- "@types/jest": "^27.0.0",
- "@types/node": "^14.0.4",
- "fetch-mock": "^9.0.0",
- "jest": "^27.0.0",
- "prettier": "2.3.2",
- "semantic-release": "^17.0.0",
+ "@types/jest": "^29.0.0",
+ "@types/node": "^18.0.0",
+ "esbuild": "^0.19.0",
+ "fetch-mock": "npm:@gr2m/fetch-mock@9.11.0-pull-request-644.1",
+ "glob": "^10.2.6",
+ "jest": "^29.0.0",
+ "prettier": "3.0.3",
"semantic-release-plugin-update-version-in-files": "^1.0.0",
- "ts-jest": "^27.0.0-next.12",
- "typescript": "^4.0.0"
+ "ts-jest": "^29.0.0",
+ "typescript": "^5.0.0"
},
- "publishConfig": {
- "access": "public"
+ "engines": {
+ "node": ">= 18"
},
- "source": "dist-src/index.js",
- "types": "dist-types/index.d.ts",
+ "files": [
+ "dist-*/**",
+ "bin/**"
+ ],
"main": "dist-node/index.js",
- "module": "dist-web/index.js"
+ "module": "dist-web/index.js",
+ "types": "dist-types/index.d.ts",
+ "source": "dist-src/index.js",
+ "sideEffects": false
}
diff --git a/node_modules/@octokit/openapi-types/package.json b/node_modules/@octokit/openapi-types/package.json
index 24484a5e..f8ba9436 100644
--- a/node_modules/@octokit/openapi-types/package.json
+++ b/node_modules/@octokit/openapi-types/package.json
@@ -9,12 +9,12 @@
"publishConfig": {
"access": "public"
},
- "version": "12.11.0",
+ "version": "19.1.0",
"main": "",
"types": "types.d.ts",
"author": "Gregor Martynus (https://twitter.com/gr2m)",
"license": "MIT",
"octokit": {
- "openapi-version": "6.8.0"
+ "openapi-version": "13.3.0"
}
}
diff --git a/node_modules/@octokit/openapi-types/types.d.ts b/node_modules/@octokit/openapi-types/types.d.ts
index 88dc62de..10ff9d6a 100644
--- a/node_modules/@octokit/openapi-types/types.d.ts
+++ b/node_modules/@octokit/openapi-types/types.d.ts
@@ -3,32 +3,68 @@
* Do not make direct changes to the file.
*/
+/** OneOf type helpers */
+type Without = { [P in Exclude]?: never };
+type XOR = T | U extends object
+ ? (Without & U) | (Without & T)
+ : T | U;
+type OneOf = T extends [infer Only]
+ ? Only
+ : T extends [infer A, infer B, ...infer Rest]
+ ? OneOf<[XOR, ...Rest]>
+ : never;
+
export interface paths {
"/": {
- /** Get Hypermedia links to resources accessible in GitHub's REST API */
+ /**
+ * GitHub API Root
+ * @description Get Hypermedia links to resources accessible in GitHub's REST API
+ */
get: operations["meta/root"];
};
+ "/advisories": {
+ /**
+ * 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"];
+ };
+ "/advisories/{ghsa_id}": {
+ /**
+ * 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"];
+ };
"/app": {
/**
- * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint.
+ * 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"];
};
"/app-manifests/{code}/conversions": {
- /** 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`. */
+ /**
+ * 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"];
};
"/app/hook/config": {
/**
- * 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)."
+ * 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"];
/**
- * 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)."
+ * 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.
*/
@@ -36,7 +72,8 @@ export interface paths {
};
"/app/hook/deliveries": {
/**
- * Returns a list of webhook deliveries for the webhook configured for a GitHub App.
+ * 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.
*/
@@ -44,7 +81,8 @@ export interface paths {
};
"/app/hook/deliveries/{delivery_id}": {
/**
- * Returns a delivery for the webhook configured for a GitHub App.
+ * 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.
*/
@@ -52,15 +90,24 @@ export interface paths {
};
"/app/hook/deliveries/{delivery_id}/attempts": {
/**
- * Redeliver a delivery for the webhook configured for a GitHub App.
+ * 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"];
};
+ "/app/installation-requests": {
+ /**
+ * 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"];
+ };
"/app/installations": {
/**
- * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
+ * List installations for the authenticated app
+ * @description You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
*
* The permissions the installation has are included under the `permissions` key.
*/
@@ -68,13 +115,15 @@ export interface paths {
};
"/app/installations/{installation_id}": {
/**
- * Enables an authenticated GitHub App to find an installation's information using the installation id.
+ * 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"];
/**
- * Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/rest/reference/apps/#suspend-an-app-installation)" endpoint.
+ * Delete an installation for the authenticated app
+ * @description Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app's access to your account's resources, then we recommend the "[Suspend an app installation](https://docs.github.com/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.
*/
@@ -82,7 +131,8 @@ export interface paths {
};
"/app/installations/{installation_id}/access_tokens": {
/**
- * Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key.
+ * Create an installation access token for an app
+ * @description Creates an installation access token that enables a GitHub App to make authenticated API requests for the app's installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access. To restrict the access to specific repositories, you can provide the `repository_ids` when creating the token. When you omit `repository_ids`, the response does not contain the `repositories` key.
*
* 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.
*/
@@ -90,498 +140,153 @@ export interface paths {
};
"/app/installations/{installation_id}/suspended": {
/**
- * Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account.
+ * Suspend an app installation
+ * @description Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account's resources. When a GitHub App is suspended, the app's access to the GitHub API or webhook events is blocked for that account.
*
* You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
*/
put: operations["apps/suspend-installation"];
/**
- * Removes a GitHub App installation suspension.
+ * 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"];
};
- "/applications/grants": {
- /**
- * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).
- *
- * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://docs.github.com/rest/reference/oauth-authorizations#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`.
- */
- get: operations["oauth-authorizations/list-grants"];
- };
- "/applications/grants/{grant_id}": {
- /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */
- get: operations["oauth-authorizations/get-grant"];
- /**
- * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).
- *
- * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized).
- */
- delete: operations["oauth-authorizations/delete-grant"];
- };
"/applications/{client_id}/grant": {
/**
- * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted.
- * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized).
+ * Delete an app authorization
+ * @description OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted.
+ * Deleting an 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"];
};
"/applications/{client_id}/token": {
- /** OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. */
- post: operations["apps/check-token"];
- /** OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. */
- delete: operations["apps/delete-token"];
- /** OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */
- patch: operations["apps/reset-token"];
- };
- "/applications/{client_id}/token/scoped": {
- /** Use a non-scoped user-to-server OAuth access token to create a repository scoped and/or permission scoped user-to-server OAuth access token. You can specify which repositories the token can access and which permissions are granted to the token. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. */
- post: operations["apps/scope-token"];
- };
- "/apps/{app_slug}": {
- /**
- * **Note**: The `:app_slug` is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., `https://github.com/settings/apps/:app_slug`).
- *
- * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.
- */
- get: operations["apps/get-by-slug"];
- };
- "/authorizations": {
- /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */
- get: operations["oauth-authorizations/list-authorizations"];
- /**
- * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).
- *
- * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).
- *
- * Creates OAuth tokens using [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)."
- *
- * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them.
- *
- * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://docs.github.com/articles/creating-an-access-token-for-command-line-use).
- *
- * Organizations that enforce SAML SSO require personal access tokens to be allowed. Read more about allowing tokens in [the GitHub Help documentation](https://docs.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on).
- */
- post: operations["oauth-authorizations/create-authorization"];
- };
- "/authorizations/clients/{client_id}": {
- /**
- * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).
- *
- * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).
- *
- * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one.
- *
- * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)."
- *
- * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).
- */
- put: operations["oauth-authorizations/get-or-create-authorization-for-app"];
- };
- "/authorizations/clients/{client_id}/{fingerprint}": {
- /**
- * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).
- *
- * **Warning:** Apps must use the [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api).
- *
- * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one.
- *
- * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)."
- */
- put: operations["oauth-authorizations/get-or-create-authorization-for-app-and-fingerprint"];
- };
- "/authorizations/{authorization_id}": {
- /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */
- get: operations["oauth-authorizations/get-authorization"];
- /** **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/). */
- delete: operations["oauth-authorizations/delete-authorization"];
- /**
- * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://docs.github.com/developers/apps/authorizing-oauth-apps#web-application-flow). The [OAuth Authorizations API](https://docs.github.com/rest/reference/oauth-authorizations) will be removed on November, 13, 2020. For more information, including scheduled brownouts, see the [blog post](https://developer.github.com/changes/2020-02-14-deprecating-oauth-auth-endpoint/).
- *
- * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://docs.github.com/rest/overview/other-authentication-methods#working-with-two-factor-authentication)."
- *
- * You can only send one of these scope keys at a time.
- */
- patch: operations["oauth-authorizations/update-authorization"];
- };
- "/codes_of_conduct": {
- get: operations["codes-of-conduct/get-all-codes-of-conduct"];
- };
- "/codes_of_conduct/{key}": {
- get: operations["codes-of-conduct/get-conduct-code"];
- };
- "/emojis": {
- /** Lists all the emojis available to use on GitHub. */
- get: operations["emojis/get"];
- };
- "/enterprise-installation/{enterprise_or_org}/server-statistics": {
- /**
- * Returns aggregate usage metrics for your GitHub Enterprise Server 3.5+ instance for a specified time period up to 365 days.
- *
- * To use this endpoint, your GitHub Enterprise Server instance must be connected to GitHub Enterprise Cloud using GitHub Connect. You must enable Server Statistics, and for the API request provide your enterprise account name or organization name connected to the GitHub Enterprise Server. For more information, see "[Enabling Server Statistics for your enterprise](/admin/configuration/configuring-github-connect/enabling-server-statistics-for-your-enterprise)" in the GitHub Enterprise Server documentation.
- *
- * You'll need to use a personal access token:
- * - If you connected your GitHub Enterprise Server to an enterprise account and enabled Server Statistics, you'll need a personal access token with the `read:enterprise` permission.
- * - If you connected your GitHub Enterprise Server to an organization account and enabled Server Statistics, you'll need a personal access token with the `read:org` permission.
- *
- * For more information on creating a personal access token, see "[Creating a personal access token](/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)."
- */
- get: operations["enterprise-admin/get-server-statistics"];
- };
- "/enterprises/{enterprise}/actions/cache/usage": {
- /**
- * Gets the total GitHub Actions cache usage for an enterprise.
- * The data fetched using this API is refreshed approximately every 5 minutes, so values returned from this endpoint may take at least 5 minutes to get updated.
- * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.
- */
- get: operations["actions/get-actions-cache-usage-for-enterprise"];
- };
- "/enterprises/{enterprise}/actions/oidc/customization/issuer": {
- /**
- * Sets the GitHub Actions OpenID Connect (OIDC) custom issuer policy for an enterprise.
- * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.
- * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint.
- */
- put: operations["actions/set-actions-oidc-custom-issuer-policy-for-enterprise"];
- };
- "/enterprises/{enterprise}/actions/permissions": {
- /**
- * Gets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise.
- *
- * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.
- */
- get: operations["enterprise-admin/get-github-actions-permissions-enterprise"];
- /**
- * Sets the GitHub Actions permissions policy for organizations and allowed actions and reusable workflows in an enterprise.
- *
- * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.
- */
- put: operations["enterprise-admin/set-github-actions-permissions-enterprise"];
- };
- "/enterprises/{enterprise}/actions/permissions/organizations": {
- /**
- * Lists the organizations that are selected to have GitHub Actions enabled in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)."
- *
- * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.
- */
- get: operations["enterprise-admin/list-selected-organizations-enabled-github-actions-enterprise"];
- /**
- * Replaces the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)."
- *
- * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.
- */
- put: operations["enterprise-admin/set-selected-organizations-enabled-github-actions-enterprise"];
- };
- "/enterprises/{enterprise}/actions/permissions/organizations/{org_id}": {
- /**
- * Adds an organization to the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)."
- *
- * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.
- */
- put: operations["enterprise-admin/enable-selected-organization-github-actions-enterprise"];
- /**
- * Removes an organization from the list of selected organizations that are enabled for GitHub Actions in an enterprise. To use this endpoint, the enterprise permission policy for `enabled_organizations` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)."
- *
- * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.
- */
- delete: operations["enterprise-admin/disable-selected-organization-github-actions-enterprise"];
- };
- "/enterprises/{enterprise}/actions/permissions/selected-actions": {
- /**
- * Gets the selected actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)."
- *
- * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.
- */
- get: operations["enterprise-admin/get-allowed-actions-enterprise"];
- /**
- * Sets the actions and reusable workflows that are allowed in an enterprise. To use this endpoint, the enterprise permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an enterprise](#set-github-actions-permissions-for-an-enterprise)."
- *
- * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.
- */
- put: operations["enterprise-admin/set-allowed-actions-enterprise"];
- };
- "/enterprises/{enterprise}/actions/permissions/workflow": {
- /**
- * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise,
- * as well as whether GitHub Actions can submit approving pull request reviews. For more information, see
- * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)."
- *
- * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.
- * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint.
- */
- get: operations["actions/get-github-actions-default-workflow-permissions-enterprise"];
- /**
- * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an enterprise, and sets
- * whether GitHub Actions can submit approving pull request reviews. For more information, see
- * "[Enforcing a policy for workflow permissions in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-for-workflow-permissions-in-your-enterprise)."
- *
- * You must authenticate using an access token with the `admin:enterprise` scope to use this endpoint.
- * GitHub Apps must have the `enterprise_administration:write` permission to use this endpoint.
- */
- put: operations["actions/set-github-actions-default-workflow-permissions-enterprise"];
- };
- "/enterprises/{enterprise}/actions/runner-groups": {
- /**
- * Lists all self-hosted runner groups for an enterprise.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
- */
- get: operations["enterprise-admin/list-self-hosted-runner-groups-for-enterprise"];
- /**
- * Creates a new self-hosted runner group for an enterprise.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
- */
- post: operations["enterprise-admin/create-self-hosted-runner-group-for-enterprise"];
- };
- "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}": {
/**
- * Gets a specific self-hosted runner group for an enterprise.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
+ * 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. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) to use this endpoint, where the username is the application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`.
*/
- get: operations["enterprise-admin/get-self-hosted-runner-group-for-enterprise"];
+ post: operations["apps/check-token"];
/**
- * Deletes a self-hosted runner group for an enterprise.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
+ * 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. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password.
*/
- delete: operations["enterprise-admin/delete-self-hosted-runner-group-from-enterprise"];
+ delete: operations["apps/delete-token"];
/**
- * Updates the `name` and `visibility` of a self-hosted runner group in an enterprise.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
+ * 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. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`.
*/
- patch: operations["enterprise-admin/update-self-hosted-runner-group-for-enterprise"];
+ patch: operations["apps/reset-token"];
};
- "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations": {
- /**
- * Lists the organizations with access to a self-hosted runner group.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
- */
- get: operations["enterprise-admin/list-org-access-to-self-hosted-runner-group-in-enterprise"];
+ "/applications/{client_id}/token/scoped": {
/**
- * Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
+ * 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. You must use [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) when accessing this endpoint, using the `client_id` and `client_secret` of the GitHub App as the username and password. Invalid tokens will return `404 NOT FOUND`.
*/
- put: operations["enterprise-admin/set-org-access-to-self-hosted-runner-group-in-enterprise"];
+ post: operations["apps/scope-token"];
};
- "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}": {
- /**
- * Adds an organization to the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)."
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
- */
- put: operations["enterprise-admin/add-org-access-to-self-hosted-runner-group-in-enterprise"];
+ "/apps/{app_slug}": {
/**
- * Removes an organization from the list of selected organizations that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an enterprise](#create-a-self-hosted-runner-group-for-an-enterprise)."
+ * 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`).
*
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
+ * If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a [personal access token](https://docs.github.com/articles/creating-a-personal-access-token-for-the-command-line/) or an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.
*/
- delete: operations["enterprise-admin/remove-org-access-to-self-hosted-runner-group-in-enterprise"];
+ get: operations["apps/get-by-slug"];
};
- "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners": {
- /**
- * Lists the self-hosted runners that are in a specific enterprise group.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
- */
- get: operations["enterprise-admin/list-self-hosted-runners-in-group-for-enterprise"];
+ "/assignments/{assignment_id}": {
/**
- * Replaces the list of self-hosted runners that are part of an enterprise runner group.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
+ * 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.
*/
- put: operations["enterprise-admin/set-self-hosted-runners-in-group-for-enterprise"];
+ get: operations["classroom/get-an-assignment"];
};
- "/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": {
- /**
- * Adds a self-hosted runner to a runner group configured in an enterprise.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise`
- * scope to use this endpoint.
- */
- put: operations["enterprise-admin/add-self-hosted-runner-to-group-for-enterprise"];
+ "/assignments/{assignment_id}/accepted_assignments": {
/**
- * Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
+ * 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.
*/
- delete: operations["enterprise-admin/remove-self-hosted-runner-from-group-for-enterprise"];
+ get: operations["classroom/list-accepted-assigments-for-an-assignment"];
};
- "/enterprises/{enterprise}/actions/runners": {
+ "/assignments/{assignment_id}/grades": {
/**
- * Lists all self-hosted runners configured for an enterprise.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
+ * 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["enterprise-admin/list-self-hosted-runners-for-enterprise"];
+ get: operations["classroom/get-assignment-grades"];
};
- "/enterprises/{enterprise}/actions/runners/downloads": {
+ "/classrooms": {
/**
- * Lists binaries for the runner application that you can download and run.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
+ * 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["enterprise-admin/list-runner-applications-for-enterprise"];
+ get: operations["classroom/list-classrooms"];
};
- "/enterprises/{enterprise}/actions/runners/registration-token": {
+ "/classrooms/{classroom_id}": {
/**
- * Returns a token that you can pass to the `config` script. The token expires after one hour.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
- *
- * #### Example using registration token
- *
- * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.
- *
- * ```
- * ./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN
- * ```
+ * 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.
*/
- post: operations["enterprise-admin/create-registration-token-for-enterprise"];
+ get: operations["classroom/get-a-classroom"];
};
- "/enterprises/{enterprise}/actions/runners/remove-token": {
+ "/classrooms/{classroom_id}/assignments": {
/**
- * Returns a token that you can pass to the `config` script to remove a self-hosted runner from an enterprise. The token expires after one hour.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
- *
- * #### Example using remove token
- *
- * To remove your self-hosted runner from an enterprise, replace `TOKEN` with the remove token provided by this
- * endpoint.
- *
- * ```
- * ./config.sh remove --token TOKEN
- * ```
+ * 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.
*/
- post: operations["enterprise-admin/create-remove-token-for-enterprise"];
+ get: operations["classroom/list-assignments-for-a-classroom"];
};
- "/enterprises/{enterprise}/actions/runners/{runner_id}": {
- /**
- * Gets a specific self-hosted runner configured in an enterprise.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
- */
- get: operations["enterprise-admin/get-self-hosted-runner-for-enterprise"];
+ "/codes_of_conduct": {
/**
- * Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
+ * Get all codes of conduct
+ * @description Returns array of all GitHub's codes of conduct.
*/
- delete: operations["enterprise-admin/delete-self-hosted-runner-from-enterprise"];
+ get: operations["codes-of-conduct/get-all-codes-of-conduct"];
};
- "/enterprises/{enterprise}/actions/runners/{runner_id}/labels": {
- /**
- * Lists all labels for a self-hosted runner configured in an enterprise.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
- */
- get: operations["enterprise-admin/list-labels-for-self-hosted-runner-for-enterprise"];
- /**
- * Remove all previous custom labels and set the new custom labels for a specific
- * self-hosted runner configured in an enterprise.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
- */
- put: operations["enterprise-admin/set-custom-labels-for-self-hosted-runner-for-enterprise"];
- /**
- * Add custom labels to a self-hosted runner configured in an enterprise.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
- */
- post: operations["enterprise-admin/add-custom-labels-to-self-hosted-runner-for-enterprise"];
+ "/codes_of_conduct/{key}": {
/**
- * Remove all custom labels from a self-hosted runner configured in an
- * enterprise. Returns the remaining read-only labels from the runner.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
+ * Get a code of conduct
+ * @description Returns information about the specified GitHub code of conduct.
*/
- delete: operations["enterprise-admin/remove-all-custom-labels-from-self-hosted-runner-for-enterprise"];
+ get: operations["codes-of-conduct/get-conduct-code"];
};
- "/enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}": {
+ "/emojis": {
/**
- * Remove a custom label from a self-hosted runner configured
- * in an enterprise. Returns the remaining labels from the runner.
- *
- * This endpoint returns a `404 Not Found` status if the custom label is not
- * present on the runner.
- *
- * You must authenticate using an access token with the `manage_runners:enterprise` scope to use this endpoint.
+ * Get emojis
+ * @description Lists all the emojis available to use on GitHub.
*/
- delete: operations["enterprise-admin/remove-custom-label-from-self-hosted-runner-for-enterprise"];
- };
- "/enterprises/{enterprise}/audit-log": {
- /** Gets the audit log for an enterprise. To use this endpoint, you must be an enterprise admin, and you must use an access token with the `admin:enterprise` scope. */
- get: operations["enterprise-admin/get-audit-log"];
+ get: operations["emojis/get"];
};
- "/enterprises/{enterprise}/code-scanning/alerts": {
+ "/enterprises/{enterprise}/dependabot/alerts": {
/**
- * Lists code scanning alerts for the default branch for all eligible repositories in an enterprise. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)."
- *
- * To use this endpoint, you must be a member of the enterprise,
- * and you must use an access token with the `repo` scope or `security_events` scope.
+ * List Dependabot alerts for an enterprise
+ * @description Lists Dependabot alerts for repositories that are owned by the specified enterprise.
+ * To use this endpoint, you must be a member of the enterprise, and you must use an
+ * access token with the `repo` scope or `security_events` scope.
+ * Alerts are only returned for organizations in the enterprise for which you are an organization owner or a security manager. 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)."
*/
- get: operations["code-scanning/list-alerts-for-enterprise"];
+ get: operations["dependabot/list-alerts-for-enterprise"];
};
"/enterprises/{enterprise}/secret-scanning/alerts": {
/**
- * Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest.
+ * List secret scanning alerts for an enterprise
+ * @description Lists secret scanning alerts for eligible repositories in an enterprise, from newest to oldest.
* To use this endpoint, you must be a member of the enterprise, and you must use an access token with the `repo` scope or `security_events` scope. Alerts are only returned for organizations in the enterprise for which you are an organization owner or a [security manager](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization).
*/
get: operations["secret-scanning/list-alerts-for-enterprise"];
};
- "/enterprises/{enterprise}/settings/billing/actions": {
- /**
- * Gets the summary of the free and paid GitHub Actions minutes used.
- *
- * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)".
- *
- * The authenticated user must be an enterprise admin.
- */
- get: operations["billing/get-github-actions-billing-ghe"];
- };
- "/enterprises/{enterprise}/settings/billing/advanced-security": {
- /**
- * Gets the GitHub Advanced Security active committers for an enterprise per repository.
- *
- * Each distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of active_users for each repository.
- *
- * The total number of repositories with committer information is tracked by the `total_count` field.
- */
- get: operations["billing/get-github-advanced-security-billing-ghe"];
- };
- "/enterprises/{enterprise}/settings/billing/packages": {
- /**
- * Gets the free and paid storage used for GitHub Packages in gigabytes.
- *
- * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)."
- *
- * The authenticated user must be an enterprise admin.
- */
- get: operations["billing/get-github-packages-billing-ghe"];
- };
- "/enterprises/{enterprise}/settings/billing/shared-storage": {
+ "/events": {
/**
- * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.
- *
- * Paid minutes only apply to packages stored for private repositories. For more information, see "[Managing billing for GitHub Packages](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-packages)."
- *
- * The authenticated user must be an enterprise admin.
+ * List public events
+ * @description We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago.
*/
- get: operations["billing/get-shared-storage-billing-ghe"];
- };
- "/events": {
- /** We delay the public events feed by five minutes, which means the most recent event returned by the public events API actually occurred at least five minutes ago. */
get: operations["activity/list-public-events"];
};
"/feeds": {
/**
- * GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user:
+ * Get feeds
+ * @description GitHub provides several timeline resources in [Atom](http://en.wikipedia.org/wiki/Atom_(standard)) format. The Feeds API lists all the feeds available to the authenticated user:
*
* * **Timeline**: The GitHub global public timeline
* * **User**: The public timeline for any user, using [URI template](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia)
@@ -596,10 +301,14 @@ export interface paths {
get: operations["activity/get-feeds"];
};
"/gists": {
- /** Lists the authenticated user's gists or if called anonymously, this endpoint returns all public gists: */
+ /**
+ * 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"];
/**
- * Allows you to add a new gist with one or more files.
+ * 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.
*/
@@ -607,62 +316,89 @@ export interface paths {
};
"/gists/public": {
/**
- * List public gists sorted by most recently updated to least recently updated.
+ * List public gists
+ * @description List public gists sorted by most recently updated to least recently updated.
*
* Note: With [pagination](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination), you can fetch up to 3000 gists. For example, you can fetch 100 pages with 30 gists per page or 30 pages with 100 gists per page.
*/
get: operations["gists/list-public"];
};
"/gists/starred": {
- /** List the authenticated user's starred gists: */
+ /**
+ * List starred gists
+ * @description List the authenticated user's starred gists:
+ */
get: operations["gists/list-starred"];
};
"/gists/{gist_id}": {
+ /** Get a gist */
get: operations["gists/get"];
+ /** Delete a gist */
delete: operations["gists/delete"];
- /** Allows you to update or delete a gist file and rename gist files. Files from the previous version of the gist that aren't explicitly changed during an edit are unchanged. */
+ /**
+ * 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.
+ */
patch: operations["gists/update"];
};
"/gists/{gist_id}/comments": {
+ /** List gist comments */
get: operations["gists/list-comments"];
+ /** Create a gist comment */
post: operations["gists/create-comment"];
};
"/gists/{gist_id}/comments/{comment_id}": {
+ /** Get a gist comment */
get: operations["gists/get-comment"];
+ /** Delete a gist comment */
delete: operations["gists/delete-comment"];
+ /** Update a gist comment */
patch: operations["gists/update-comment"];
};
"/gists/{gist_id}/commits": {
+ /** List gist commits */
get: operations["gists/list-commits"];
};
"/gists/{gist_id}/forks": {
+ /** List gist forks */
get: operations["gists/list-forks"];
- /** **Note**: This was previously `/gists/:gist_id/fork`. */
+ /** Fork a gist */
post: operations["gists/fork"];
};
"/gists/{gist_id}/star": {
+ /** Check if a gist is starred */
get: operations["gists/check-is-starred"];
- /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */
+ /**
+ * Star a gist
+ * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)."
+ */
put: operations["gists/star"];
+ /** Unstar a gist */
delete: operations["gists/unstar"];
};
"/gists/{gist_id}/{sha}": {
+ /** Get a gist revision */
get: operations["gists/get-revision"];
};
"/gitignore/templates": {
- /** List all templates available to pass as an option when [creating a repository](https://docs.github.com/rest/reference/repos#create-a-repository-for-the-authenticated-user). */
+ /**
+ * 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"];
};
"/gitignore/templates/{name}": {
/**
- * The API also allows fetching the source of a single template.
+ * Get a gitignore template
+ * @description The API also allows fetching the source of a single template.
* Use the raw [media type](https://docs.github.com/rest/overview/media-types/) to get the raw contents.
*/
get: operations["gitignore/get-template"];
};
"/installation/repositories": {
/**
- * List repositories that an app installation can access.
+ * List repositories accessible to the app installation
+ * @description List repositories that an app installation can access.
*
* You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.
*/
@@ -670,9 +406,10 @@ export interface paths {
};
"/installation/token": {
/**
- * Revokes the installation token you're using to authenticate as an installation and access this endpoint.
+ * 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/reference/apps#create-an-installation-access-token-for-an-app)" 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.
*
* You must use an [installation access token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-an-installation) to access this endpoint.
*/
@@ -680,156 +417,209 @@ export interface paths {
};
"/issues": {
/**
- * List issues assigned to the authenticated user across all visible repositories including owned repositories, member
+ * 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 v3 considers every pull request an issue, but not every issue is a pull request. For this
+ * **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/reference/pulls#list-pull-requests)" endpoint.
+ * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint.
*/
get: operations["issues/list"];
};
"/licenses": {
+ /**
+ * 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"];
};
"/licenses/{license}": {
+ /**
+ * 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"];
};
"/markdown": {
+ /** Render a Markdown document */
post: operations["markdown/render"];
};
"/markdown/raw": {
- /** 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. */
+ /**
+ * 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"];
};
"/marketplace_listing/accounts/{account_id}": {
/**
- * 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.
+ * 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/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.
+ * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.
*/
get: operations["apps/get-subscription-plan-for-account"];
};
"/marketplace_listing/plans": {
/**
- * Lists all plans that are part of your GitHub Marketplace listing.
+ * 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/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.
+ * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.
*/
get: operations["apps/list-plans"];
};
"/marketplace_listing/plans/{plan_id}/accounts": {
/**
- * 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.
+ * 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/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.
+ * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.
*/
get: operations["apps/list-accounts-for-plan"];
};
"/marketplace_listing/stubbed/accounts/{account_id}": {
/**
- * 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.
+ * 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/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.
+ * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.
*/
get: operations["apps/get-subscription-plan-for-account-stubbed"];
};
"/marketplace_listing/stubbed/plans": {
/**
- * Lists all plans that are part of your GitHub Marketplace listing.
+ * 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/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.
+ * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.
*/
get: operations["apps/list-plans-stubbed"];
};
"/marketplace_listing/stubbed/plans/{plan_id}/accounts": {
/**
- * 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.
+ * 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/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.
+ * GitHub Apps must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint. OAuth apps must use [basic authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication) with their client ID and client secret to access this endpoint.
*/
get: operations["apps/list-accounts-for-plan-stubbed"];
};
"/meta": {
/**
- * 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/)."
+ * 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/)."
*
- * **Note:** The IP addresses shown in the documentation's response are only example values. You must always query the API directly to get the latest list of IP addresses.
+ * 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"];
};
"/networks/{owner}/{repo}/events": {
+ /** List public events for a network of repositories */
get: operations["activity/list-public-events-for-repo-network"];
};
"/notifications": {
- /** List all notifications for the current user, sorted by most recently updated. */
+ /**
+ * 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"];
- /** Marks all notifications as "read" removes it from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */
+ /**
+ * 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"];
};
"/notifications/threads/{thread_id}": {
+ /**
+ * Get a thread
+ * @description Gets information about a notification thread.
+ */
get: operations["activity/get-thread"];
+ /**
+ * 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"];
};
"/notifications/threads/{thread_id}/subscription": {
/**
- * This checks to see if the current user is subscribed to a thread. You can also [get a repository subscription](https://docs.github.com/rest/reference/activity#get-a-repository-subscription).
+ * 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"];
/**
- * 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**.
+ * 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/reference/activity#delete-a-thread-subscription) endpoint.
+ * 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"];
- /** Mutes all future notifications for a conversation until you comment on the thread or get an **@mention**. If you are watching the repository of the thread, you will still receive notifications. To ignore future notifications for a repository you are watching, use the [Set a thread subscription](https://docs.github.com/rest/reference/activity#set-a-thread-subscription) endpoint and set `ignore` to `true`. */
+ /**
+ * 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"];
};
"/octocat": {
- /** Get the octocat as ASCII art */
+ /**
+ * Get Octocat
+ * @description Get the octocat as ASCII art
+ */
get: operations["meta/get-octocat"];
};
"/organizations": {
/**
- * Lists all organizations, in the order that they were created on GitHub.
+ * List organizations
+ * @description Lists all organizations, in the order that they were created on GitHub.
*
- * **Note:** Pagination is powered exclusively by the `since` parameter. Use the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of organizations.
+ * **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"];
};
- "/organizations/{organization_id}/custom_roles": {
- /**
- * List the custom repository roles available in this organization. In order to see custom
- * repository roles in an organization, the authenticated user must be an organization owner.
- *
- * For more information on custom repository roles, see "[Managing custom repository roles for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-custom-repository-roles-for-an-organization)".
- */
- get: operations["orgs/list-custom-roles"];
- };
"/orgs/{org}": {
/**
- * To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/).
+ * Get an organization
+ * @description To see many of the organization response values, you need to be an authenticated organization owner with the `admin:org` scope. When the value of `two_factor_requirement_enabled` is `true`, the organization requires all members, billing managers, and outside collaborators to enable [two-factor authentication](https://docs.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/).
*
* GitHub Apps with the `Organization plan` permission can use this endpoint to retrieve information about an organization's GitHub plan. See "[Authenticating with GitHub Apps](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/)" for details. For an example response, see 'Response with GitHub plan information' below."
*/
get: operations["orgs/get"];
/**
- * **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes).
+ * 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"];
+ /**
+ * Update an organization
+ * @description **Parameter Deprecation Notice:** GitHub will replace and discontinue `members_allowed_repository_creation_type` in favor of more granular permissions. The new input parameters are `members_can_create_public_repositories`, `members_can_create_private_repositories` for all organizations and `members_can_create_internal_repositories` for organizations associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+. For more information, see the [blog post](https://developer.github.com/changes/2019-12-03-internal-visibility-changes).
*
- * Enables an authenticated organization owner with the `admin:org` scope to update the organization's profile and member privileges.
+ * Enables an authenticated organization owner with the `admin:org` scope or the `repo` scope to update the organization's profile and member privileges.
*/
patch: operations["orgs/update"];
};
"/orgs/{org}/actions/cache/usage": {
/**
- * Gets the total GitHub Actions cache usage for an organization.
+ * 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.
* You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint.
*/
@@ -837,7 +627,8 @@ export interface paths {
};
"/orgs/{org}/actions/cache/usage-by-repository": {
/**
- * Lists repositories and their GitHub Actions cache usage for an organization.
+ * 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.
* You must authenticate using an access token with the `read:org` scope to use this endpoint. GitHub Apps must have the `organization_admistration:read` permission to use this endpoint.
*/
@@ -845,13 +636,15 @@ export interface paths {
};
"/orgs/{org}/actions/oidc/customization/sub": {
/**
- * Gets the customization template for an OpenID Connect (OIDC) subject claim.
+ * Get the customization template for an OIDC subject claim for an organization
+ * @description Gets the customization template for an OpenID Connect (OIDC) subject claim.
* You must authenticate using an access token with the `read:org` scope to use this endpoint.
* GitHub Apps must have the `organization_administration:write` permission to use this endpoint.
*/
get: operations["oidc/get-oidc-custom-sub-template-for-org"];
/**
- * Creates or updates the customization template for an OpenID Connect (OIDC) subject claim.
+ * 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.
* You must authenticate using an access token with the `write:org` scope to use this endpoint.
* GitHub Apps must have the `admin:org` permission to use this endpoint.
*/
@@ -859,15 +652,15 @@ export interface paths {
};
"/orgs/{org}/actions/permissions": {
/**
- * Gets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization.
+ * 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.
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.
*/
get: operations["actions/get-github-actions-permissions-organization"];
/**
- * Sets the GitHub Actions permissions policy for repositories and allowed actions and reusable workflows in an organization.
- *
- * If the organization belongs to an enterprise that has set restrictive permissions at the enterprise level, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the 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.
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.
*/
@@ -875,13 +668,15 @@ export interface paths {
};
"/orgs/{org}/actions/permissions/repositories": {
/**
- * 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)."
+ * 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)."
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.
*/
get: operations["actions/list-selected-repositories-enabled-github-actions-organization"];
/**
- * 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)."
+ * 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)."
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.
*/
@@ -889,13 +684,15 @@ export interface paths {
};
"/orgs/{org}/actions/permissions/repositories/{repository_id}": {
/**
- * 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)."
+ * 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)."
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.
*/
put: operations["actions/enable-selected-repository-github-actions-organization"];
/**
- * 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)."
+ * 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)."
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.
*/
@@ -903,17 +700,15 @@ export interface paths {
};
"/orgs/{org}/actions/permissions/selected-actions": {
/**
- * 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).""
+ * 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).""
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.
*/
get: operations["actions/get-allowed-actions-organization"];
/**
- * Sets the actions and reusable workflows that are allowed in an organization. To use this endpoint, the organization permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for an organization](#set-github-actions-permissions-for-an-organization)."
- *
- * If the organization belongs to an enterprise that has `selected` actions and reusable workflows set at the enterprise level, then you cannot override any of the enterprise's allowed actions and reusable workflows settings.
- *
- * To use the `patterns_allowed` setting for private repositories, the organization must belong to an enterprise. If the organization does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories in the organization.
+ * 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)."
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `administration` organization permission to use this API.
*/
@@ -921,7 +716,8 @@ export interface paths {
};
"/orgs/{org}/actions/permissions/workflow": {
/**
- * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization,
+ * 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)."
*
@@ -929,7 +725,8 @@ export interface paths {
*/
get: operations["actions/get-github-actions-default-workflow-permissions-organization"];
/**
- * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in an organization, and sets if GitHub Actions
+ * 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)."
*
@@ -937,151 +734,53 @@ export interface paths {
*/
put: operations["actions/set-github-actions-default-workflow-permissions-organization"];
};
- "/orgs/{org}/actions/runner-groups": {
- /**
- * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)."
- *
- * Lists all self-hosted runner groups configured in an organization and inherited from an enterprise.
- *
- * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
- */
- get: operations["actions/list-self-hosted-runner-groups-for-org"];
- /**
- * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)."
- *
- * Creates a new self-hosted runner group for an organization.
- *
- * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
- */
- post: operations["actions/create-self-hosted-runner-group-for-org"];
- };
- "/orgs/{org}/actions/runner-groups/{runner_group_id}": {
- /**
- * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)."
- *
- * Gets a specific self-hosted runner group for an organization.
- *
- * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
- */
- get: operations["actions/get-self-hosted-runner-group-for-org"];
- /**
- * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)."
- *
- * Deletes a self-hosted runner group for an organization.
- *
- * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
- */
- delete: operations["actions/delete-self-hosted-runner-group-from-org"];
- /**
- * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)."
- *
- * Updates the `name` and `visibility` of a self-hosted runner group in an organization.
- *
- * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
- */
- patch: operations["actions/update-self-hosted-runner-group-for-org"];
- };
- "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories": {
- /**
- * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)."
- *
- * Lists the repositories with access to a self-hosted runner group configured in an organization.
- *
- * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
- */
- get: operations["actions/list-repo-access-to-self-hosted-runner-group-in-org"];
- /**
- * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)."
- *
- * Replaces the list of repositories that have access to a self-hosted runner group configured in an organization.
- *
- * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
- */
- put: operations["actions/set-repo-access-to-self-hosted-runner-group-in-org"];
- };
- "/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}": {
- /**
- * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)."
- *
- *
- * Adds a repository to the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)."
- *
- * You must authenticate using an access token with the `admin:org`
- * scope to use this endpoint.
- */
- put: operations["actions/add-repo-access-to-self-hosted-runner-group-in-org"];
- /**
- * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)."
- *
- *
- * Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have `visibility` set to `selected`. For more information, see "[Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization)."
- *
- * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
- */
- delete: operations["actions/remove-repo-access-to-self-hosted-runner-group-in-org"];
- };
- "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners": {
- /**
- * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)."
- *
- * Lists self-hosted runners that are in a specific organization group.
- *
- * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
- */
- get: operations["actions/list-self-hosted-runners-in-group-for-org"];
- /**
- * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)."
- *
- * Replaces the list of self-hosted runners that are part of an organization runner group.
- *
- * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
- */
- put: operations["actions/set-self-hosted-runners-in-group-for-org"];
- };
- "/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}": {
- /**
- * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)."
- *
- *
- * Adds a self-hosted runner to a runner group configured in an organization.
- *
- * You must authenticate using an access token with the `admin:org`
- * scope to use this endpoint.
- */
- put: operations["actions/add-self-hosted-runner-to-group-for-org"];
+ "/orgs/{org}/actions/runners": {
/**
- * The self-hosted runner groups REST API is available with GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)."
- *
- *
- * Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group.
+ * List self-hosted runners for an organization
+ * @description Lists all self-hosted runners configured in an organization.
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
- delete: operations["actions/remove-self-hosted-runner-from-group-for-org"];
+ get: operations["actions/list-self-hosted-runners-for-org"];
};
- "/orgs/{org}/actions/runners": {
+ "/orgs/{org}/actions/runners/downloads": {
/**
- * Lists all self-hosted runners configured in an organization.
+ * List runner applications for an organization
+ * @description Lists binaries for the runner application that you can download and run.
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
- get: operations["actions/list-self-hosted-runners-for-org"];
+ get: operations["actions/list-runner-applications-for-org"];
};
- "/orgs/{org}/actions/runners/downloads": {
+ "/orgs/{org}/actions/runners/generate-jitconfig": {
/**
- * Lists binaries for the runner application that you can download and run.
+ * 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.
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
- get: operations["actions/list-runner-applications-for-org"];
+ post: operations["actions/generate-runner-jitconfig-for-org"];
};
"/orgs/{org}/actions/runners/registration-token": {
/**
- * Returns a token that you can pass to the `config` script. The token expires after one hour.
+ * 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.
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*
- * #### Example using registration token
+ * Example using registration token:
*
* Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.
*
@@ -1093,11 +792,15 @@ export interface paths {
};
"/orgs/{org}/actions/runners/remove-token": {
/**
- * 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.
+ * 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.
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*
- * #### Example using remove token
+ * Example using remove token:
*
* To remove your self-hosted runner from an organization, replace `TOKEN` with the remove token provided by this
* endpoint.
@@ -1110,71 +813,126 @@ export interface paths {
};
"/orgs/{org}/actions/runners/{runner_id}": {
/**
- * Gets a specific self-hosted runner configured in an organization.
+ * Get a self-hosted runner for an organization
+ * @description Gets a specific self-hosted runner configured in an organization.
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
get: operations["actions/get-self-hosted-runner-for-org"];
/**
- * 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.
+ * 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.
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
delete: operations["actions/delete-self-hosted-runner-from-org"];
};
"/orgs/{org}/actions/runners/{runner_id}/labels": {
/**
- * Lists all labels for a self-hosted runner configured in an organization.
+ * List labels for a self-hosted runner for an organization
+ * @description Lists all labels for a self-hosted runner configured in an organization.
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
get: operations["actions/list-labels-for-self-hosted-runner-for-org"];
/**
- * Remove all previous custom labels and set the new custom labels for a specific
+ * 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.
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
put: operations["actions/set-custom-labels-for-self-hosted-runner-for-org"];
/**
- * Add custom labels to a self-hosted runner configured in an organization.
+ * Add custom labels to a self-hosted runner for an organization
+ * @description Add custom labels to a self-hosted runner configured in an organization.
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
post: operations["actions/add-custom-labels-to-self-hosted-runner-for-org"];
/**
- * Remove all custom labels from a self-hosted runner configured in an
+ * 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.
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-org"];
};
"/orgs/{org}/actions/runners/{runner_id}/labels/{name}": {
/**
- * Remove a custom label from a self-hosted runner configured
+ * 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.
*
* You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-org"];
};
"/orgs/{org}/actions/secrets": {
- /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */
+ /**
+ * List organization secrets
+ * @description Lists all secrets available in an organization without revealing their
+ * encrypted values.
+ *
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `secrets` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
+ */
get: operations["actions/list-org-secrets"];
};
"/orgs/{org}/actions/secrets/public-key": {
- /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */
+ /**
+ * Get an organization public key
+ * @description Gets your public key, which you need to encrypt secrets. You need to
+ * encrypt a secret before you can create or update secrets.
+ *
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `secrets` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
+ */
get: operations["actions/get-org-public-key"];
};
"/orgs/{org}/actions/secrets/{secret_name}": {
- /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */
+ /**
+ * Get an organization secret
+ * @description Gets a single organization secret without revealing its encrypted value.
+ *
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `secrets` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
+ */
get: operations["actions/get-org-secret"];
/**
- * Creates or updates an organization secret with an encrypted value. Encrypt your secret using
+ * 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). You must authenticate using an access
* token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to
* use this endpoint.
@@ -1251,89 +1009,435 @@ export interface paths {
* ```
*/
put: operations["actions/create-or-update-org-secret"];
- /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */
+ /**
+ * Delete an organization secret
+ * @description Deletes a secret in an organization using the secret name.
+ *
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `secrets` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
+ */
delete: operations["actions/delete-org-secret"];
};
"/orgs/{org}/actions/secrets/{secret_name}/repositories": {
- /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */
+ /**
+ * List selected repositories for an organization secret
+ * @description Lists all repositories that have been selected when the `visibility`
+ * for repository access to a secret is set to `selected`.
+ *
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `secrets` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
+ */
get: operations["actions/list-selected-repos-for-org-secret"];
- /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */
+ /**
+ * 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).
+ *
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `secrets` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
+ */
put: operations["actions/set-selected-repos-for-org-secret"];
};
"/orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}": {
- /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */
+ /**
+ * 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/actions/secrets#create-or-update-an-organization-secret).
+ *
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `secrets` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
+ */
put: operations["actions/add-selected-repo-to-org-secret"];
- /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/actions#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `secrets` organization permission to use this endpoint. */
+ /**
+ * 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).
+ *
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `secrets` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
+ */
delete: operations["actions/remove-selected-repo-from-org-secret"];
};
- "/orgs/{org}/audit-log": {
+ "/orgs/{org}/actions/variables": {
+ /**
+ * List organization variables
+ * @description Lists all organization variables.
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint. Authenticated users must have collaborator access to a repository to create, update, or read variables.
+ */
+ get: operations["actions/list-org-variables"];
+ /**
+ * Create an organization variable
+ * @description Creates an organization variable that you can reference in a GitHub Actions workflow.
+ *
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
+ */
+ post: operations["actions/create-org-variable"];
+ };
+ "/orgs/{org}/actions/variables/{name}": {
+ /**
+ * Get an organization variable
+ * @description Gets a specific variable in an organization.
+ *
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
+ */
+ get: operations["actions/get-org-variable"];
+ /**
+ * Delete an organization variable
+ * @description Deletes an organization variable using the variable name.
+ *
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
+ */
+ delete: operations["actions/delete-org-variable"];
+ /**
+ * Update an organization variable
+ * @description Updates an organization variable that you can reference in a GitHub Actions workflow.
+ *
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
+ */
+ patch: operations["actions/update-org-variable"];
+ };
+ "/orgs/{org}/actions/variables/{name}/repositories": {
+ /**
+ * List selected repositories for an organization variable
+ * @description Lists all repositories that can access an organization variable
+ * that is available to selected repositories.
+ *
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `organization_actions_variables:read` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
+ */
+ get: operations["actions/list-selected-repos-for-org-variable"];
/**
- * Gets the audit log for an organization. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization)."
+ * 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`.
*
- * This endpoint is available for organizations on GitHub Enterprise Cloud. To use this endpoint, you must be an organization owner, and you must use an access token with the `admin:org` scope. GitHub Apps must have the `organization_administration` read permission to use this endpoint.
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this
+ * endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
+ */
+ put: operations["actions/set-selected-repos-for-org-variable"];
+ };
+ "/orgs/{org}/actions/variables/{name}/repositories/{repository_id}": {
+ /**
+ * 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`.
*
- * By default, the response includes up to 30 events from the past three months. Use the `phrase` parameter to filter results and retrieve older events. For example, use the `phrase` parameter with the `created` qualifier to filter events based on when the events occurred. For more information, see "[Reviewing the audit log for your organization](https://docs.github.com/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/reviewing-the-audit-log-for-your-organization#searching-the-audit-log)."
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
+ */
+ put: operations["actions/add-selected-repo-to-org-variable"];
+ /**
+ * 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`.
*
- * Use pagination to retrieve fewer or more than 30 events. For more information, see "[Resources in the REST API](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination)."
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `organization_actions_variables:write` organization permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
*/
- get: operations["orgs/get-audit-log"];
+ delete: operations["actions/remove-selected-repo-from-org-variable"];
};
"/orgs/{org}/blocks": {
- /** List the users blocked by an organization. */
+ /**
+ * List users blocked by an organization
+ * @description List the users blocked by an organization.
+ */
get: operations["orgs/list-blocked-users"];
};
"/orgs/{org}/blocks/{username}": {
+ /**
+ * 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"];
+ /**
+ * Unblock a user from an organization
+ * @description Unblocks the given user on behalf of the specified organization.
+ */
delete: operations["orgs/unblock-user"];
};
"/orgs/{org}/code-scanning/alerts": {
/**
- * Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)."
+ * 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)."
*
* To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope.
*
+ * For public repositories, you may instead use the `public_repo` scope.
+ *
* GitHub Apps must have the `security_events` read permission to use this endpoint.
*/
get: operations["code-scanning/list-alerts-for-org"];
};
"/orgs/{org}/codespaces": {
/**
- * Lists the codespaces associated to a specified organization.
+ * List codespaces for the organization
+ * @description Lists the codespaces associated to a specified organization.
*
- * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * You must authenticate using an access token with the `admin:org` scope or the `Organization codespaces` read permission to use this endpoint.
*/
get: operations["codespaces/list-in-organization"];
};
- "/orgs/{org}/credential-authorizations": {
+ "/orgs/{org}/codespaces/access": {
+ /**
+ * 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.
+ * You must authenticate using an access token with the `admin:org` scope or the `Organization codespaces settings` write permission to use this endpoint.
+ */
+ put: operations["codespaces/set-codespaces-access"];
+ };
+ "/orgs/{org}/codespaces/access/selected_users": {
+ /**
+ * 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)."
+ *
+ * You must authenticate using an access token with the `admin:org` scope or the `Organization codespaces settings` write permission 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)."
+ *
+ * You must authenticate using an access token with the `admin:org` scope or the `Organization codespaces settings` write permission to use this endpoint.
+ */
+ delete: operations["codespaces/delete-codespaces-access-users"];
+ };
+ "/orgs/{org}/codespaces/secrets": {
+ /**
+ * List organization secrets
+ * @description Lists all Codespaces secrets available at the organization-level without revealing their encrypted values.
+ * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ */
+ get: operations["codespaces/list-org-secrets"];
+ };
+ "/orgs/{org}/codespaces/secrets/public-key": {
+ /**
+ * 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. You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ */
+ get: operations["codespaces/get-org-public-key"];
+ };
+ "/orgs/{org}/codespaces/secrets/{secret_name}": {
+ /**
+ * Get an organization secret
+ * @description Gets an organization secret without revealing its encrypted value.
+ * You must authenticate using an access token with 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 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)."
+ *
+ * You must authenticate using an access
+ * token with the `admin:org` scope to use this endpoint.
+ */
+ put: operations["codespaces/create-or-update-org-secret"];
+ /**
+ * Delete an organization secret
+ * @description Deletes an organization secret using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ */
+ delete: operations["codespaces/delete-org-secret"];
+ };
+ "/orgs/{org}/codespaces/secrets/{secret_name}/repositories": {
+ /**
+ * List selected repositories for an organization secret
+ * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ */
+ get: operations["codespaces/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/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ */
+ put: operations["codespaces/set-selected-repos-for-org-secret"];
+ };
+ "/orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}": {
/**
- * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).
+ * 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/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ */
+ put: operations["codespaces/add-selected-repo-to-org-secret"];
+ /**
+ * 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/codespaces/organization-secrets#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ */
+ delete: operations["codespaces/remove-selected-repo-from-org-secret"];
+ };
+ "/orgs/{org}/copilot/billing": {
+ /**
+ * Get Copilot for Business seat information and settings for an organization
+ * @description **Note**: This endpoint is in beta and is subject to change.
+ *
+ * Gets information about an organization's Copilot for Business subscription, including seat breakdown
+ * and code matching policies. To configure these settings, go to your organization's settings on GitHub.com.
+ * For more information, see "[Configuring GitHub Copilot settings in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization)".
+ *
+ * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must
+ * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint.
+ */
+ get: operations["copilot/get-copilot-organization-details"];
+ };
+ "/orgs/{org}/copilot/billing/seats": {
+ /**
+ * List all Copilot for Business seat assignments for an organization
+ * @description **Note**: This endpoint is in beta and is subject to change.
+ *
+ * Lists all Copilot for Business seat assignments for an organization that are currently being billed (either active or pending cancellation at the start of the next billing cycle).
+ *
+ * Only organization owners and members with admin permissions can configure and view details about the organization's Copilot for Business subscription. You must
+ * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint.
+ */
+ get: operations["copilot/list-copilot-seats"];
+ };
+ "/orgs/{org}/copilot/billing/selected_teams": {
+ /**
+ * Add teams to the Copilot for Business subscription for an organization
+ * @description **Note**: This endpoint is in beta and is subject to change.
+ *
+ * Purchases a GitHub Copilot for Business seat for all users within each specified team.
+ * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)".
+ *
+ * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must
+ * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint.
+ *
+ * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy.
+ * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)".
+ * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)".
+ */
+ post: operations["copilot/add-copilot-for-business-seats-for-teams"];
+ /**
+ * Remove teams from the Copilot for Business subscription for an organization
+ * @description **Note**: This endpoint is in beta and is subject to change.
+ *
+ * Cancels the Copilot for Business seat assignment for all members of each team specified.
+ * This will cause the members of the specified team(s) to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users.
+ *
+ * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)".
+ *
+ * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)".
+ *
+ * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must
+ * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint.
+ */
+ delete: operations["copilot/cancel-copilot-seat-assignment-for-teams"];
+ };
+ "/orgs/{org}/copilot/billing/selected_users": {
+ /**
+ * Add users to the Copilot for Business subscription for an organization
+ * @description **Note**: This endpoint is in beta and is subject to change.
+ *
+ * Purchases a GitHub Copilot for Business seat for each user specified.
+ * The organization will be billed accordingly. For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)".
+ *
+ * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must
+ * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint.
+ *
+ * In order for an admin to use this endpoint, the organization must have a Copilot for Business subscription and a configured suggestion matching policy.
+ * For more information about setting up a Copilot for Business subscription, see "[Setting up a Copilot for Business subscription for your organization](https://docs.github.com/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-organization-or-enterprise#setting-up-a-copilot-for-business-subscription-for-your-organization)".
+ * For more information about setting a suggestion matching policy, see "[Configuring suggestion matching policies for GitHub Copilot in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#configuring-suggestion-matching-policies-for-github-copilot-in-your-organization)".
+ */
+ post: operations["copilot/add-copilot-for-business-seats-for-users"];
+ /**
+ * Remove users from the Copilot for Business subscription for an organization
+ * @description **Note**: This endpoint is in beta and is subject to change.
*
- * An authenticated organization owner with the `read:org` scope can list all credential authorizations for an organization that uses SAML single sign-on (SSO). The credentials are either personal access tokens or SSH keys that organization members have authorized for the organization. For more information, see [About authentication with SAML single sign-on](https://docs.github.com/en/articles/about-authentication-with-saml-single-sign-on).
+ * Cancels the Copilot for Business seat assignment for each user specified.
+ * This will cause the specified users to lose access to GitHub Copilot at the end of the current billing cycle, and the organization will not be billed further for those users.
+ *
+ * For more information about Copilot for Business pricing, see "[About billing for GitHub Copilot for Business](https://docs.github.com/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#pricing-for-github-copilot-for-business)"
+ *
+ * For more information about disabling access to Copilot for Business, see "[Disabling access to GitHub Copilot for specific users in your organization](https://docs.github.com/copilot/configuring-github-copilot/configuring-github-copilot-settings-in-your-organization#disabling-access-to-github-copilot-for-specific-users-in-your-organization)".
+ *
+ * Only organization owners and members with admin permissions can configure GitHub Copilot in their organization. You must
+ * authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint.
*/
- get: operations["orgs/list-saml-sso-authorizations"];
+ delete: operations["copilot/cancel-copilot-seat-assignment-for-users"];
};
- "/orgs/{org}/credential-authorizations/{credential_id}": {
+ "/orgs/{org}/dependabot/alerts": {
/**
- * Listing and deleting credential authorizations is available to organizations with GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products).
+ * List Dependabot alerts for an organization
+ * @description Lists Dependabot alerts for an organization.
+ *
+ * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope.
+ *
+ * For public repositories, you may instead use the `public_repo` scope.
*
- * An authenticated organization owner with the `admin:org` scope can remove a credential authorization for an organization that uses SAML SSO. Once you remove someone's credential authorization, they will need to create a new personal access token or SSH key and authorize it for the organization they want to access.
+ * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint.
*/
- delete: operations["orgs/remove-saml-sso-authorization"];
+ get: operations["dependabot/list-alerts-for-org"];
};
"/orgs/{org}/dependabot/secrets": {
- /** Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */
+ /**
+ * List organization secrets
+ * @description Lists all secrets available in an organization without revealing their encrypted values. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.
+ */
get: operations["dependabot/list-org-secrets"];
};
"/orgs/{org}/dependabot/secrets/public-key": {
- /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */
+ /**
+ * Get an organization public key
+ * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.
+ */
get: operations["dependabot/get-org-public-key"];
};
"/orgs/{org}/dependabot/secrets/{secret_name}": {
- /** Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */
+ /**
+ * Get an organization secret
+ * @description Gets a single organization secret without revealing its encrypted value. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.
+ */
get: operations["dependabot/get-org-secret"];
/**
- * Creates or updates an organization secret with an encrypted value. Encrypt your secret using
+ * 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). You must authenticate using an access
* token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization
* permission to use this endpoint.
@@ -1410,172 +1514,271 @@ export interface paths {
* ```
*/
put: operations["dependabot/create-or-update-org-secret"];
- /** Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */
+ /**
+ * Delete an organization secret
+ * @description Deletes a secret in an organization using the secret name. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.
+ */
delete: operations["dependabot/delete-org-secret"];
};
"/orgs/{org}/dependabot/secrets/{secret_name}/repositories": {
- /** Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */
+ /**
+ * List selected repositories for an organization secret
+ * @description Lists all repositories that have been selected when the `visibility` for repository access to a secret is set to `selected`. You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.
+ */
get: operations["dependabot/list-selected-repos-for-org-secret"];
- /** Replaces all repositories for an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */
+ /**
+ * 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). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.
+ */
put: operations["dependabot/set-selected-repos-for-org-secret"];
};
"/orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}": {
- /** Adds a repository to an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */
+ /**
+ * 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). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.
+ */
put: operations["dependabot/add-selected-repo-to-org-secret"];
- /** Removes a repository from an organization secret when the `visibility` for repository access is set to `selected`. The visibility is set when you [Create or update an organization secret](https://docs.github.com/rest/reference/dependabot#create-or-update-an-organization-secret). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint. */
+ /**
+ * 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). You must authenticate using an access token with the `admin:org` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` organization permission to use this endpoint.
+ */
delete: operations["dependabot/remove-selected-repo-from-org-secret"];
};
+ "/orgs/{org}/docker/conflicts": {
+ /**
+ * 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.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` scope.
+ */
+ get: operations["packages/list-docker-migration-conflicting-packages-for-organization"];
+ };
"/orgs/{org}/events": {
+ /** List public organization events */
get: operations["activity/list-public-org-events"];
};
- "/orgs/{org}/external-group/{group_id}": {
+ "/orgs/{org}/failed_invitations": {
/**
- * Displays information about the specific group's usage. Provides a list of the group's external members as well as a list of teams that this group is connected to.
- *
- * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation.
+ * 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["teams/external-idp-group-info-for-org"];
+ get: operations["orgs/list-failed-invitations"];
};
- "/orgs/{org}/external-groups": {
+ "/orgs/{org}/hooks": {
+ /** List organization webhooks */
+ get: operations["orgs/list-webhooks"];
/**
- * Lists external groups available in an organization. You can query the groups using the `display_name` parameter, only groups with a `group_name` containing the text provided in the `display_name` parameter will be returned. You can also limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)."
- *
- * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation.
+ * Create an organization webhook
+ * @description Here's how you can create a hook that posts payloads in JSON format:
*/
- get: operations["teams/list-external-idp-groups-for-org"];
- };
- "/orgs/{org}/failed_invitations": {
- /** The return hash contains `failed_at` and `failed_reason` fields which represent the time at which the invitation failed and the reason for the failure. */
- get: operations["orgs/list-failed-invitations"];
- };
- "/orgs/{org}/hooks": {
- get: operations["orgs/list-webhooks"];
- /** Here's how you can create a hook that posts payloads in JSON format: */
post: operations["orgs/create-webhook"];
};
"/orgs/{org}/hooks/{hook_id}": {
- /** Returns a webhook configured in an organization. To get only the webhook `config` properties, see "[Get a webhook configuration for an organization](/rest/reference/orgs#get-a-webhook-configuration-for-an-organization)." */
+ /**
+ * 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)."
+ */
get: operations["orgs/get-webhook"];
+ /** Delete an organization webhook */
delete: operations["orgs/delete-webhook"];
- /** Updates a webhook configured in an organization. When you update a webhook, the `secret` will be overwritten. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for an organization](/rest/reference/orgs#update-a-webhook-configuration-for-an-organization)." */
+ /**
+ * 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)."
+ */
patch: operations["orgs/update-webhook"];
};
"/orgs/{org}/hooks/{hook_id}/config": {
/**
- * Returns the webhook configuration for an organization. To get more information about the webhook, including the `active` state and `events`, use "[Get an organization webhook ](/rest/reference/orgs#get-an-organization-webhook)."
+ * 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)."
*
* Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:read` permission.
*/
get: operations["orgs/get-webhook-config-for-org"];
/**
- * Updates the webhook configuration for an organization. To update more information about the webhook, including the `active` state and `events`, use "[Update an organization webhook ](/rest/reference/orgs#update-an-organization-webhook)."
+ * 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)."
*
* Access tokens must have the `admin:org_hook` scope, and GitHub Apps must have the `organization_hooks:write` permission.
*/
patch: operations["orgs/update-webhook-config-for-org"];
};
"/orgs/{org}/hooks/{hook_id}/deliveries": {
- /** Returns a list of webhook deliveries for a webhook configured in an organization. */
+ /**
+ * List deliveries for an organization webhook
+ * @description Returns a list of webhook deliveries for a webhook configured in an organization.
+ */
get: operations["orgs/list-webhook-deliveries"];
};
"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}": {
- /** Returns a delivery for a webhook configured in an organization. */
+ /**
+ * Get a webhook delivery for an organization webhook
+ * @description Returns a delivery for a webhook configured in an organization.
+ */
get: operations["orgs/get-webhook-delivery"];
};
"/orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": {
- /** Redeliver a delivery for a webhook configured in an organization. */
+ /**
+ * Redeliver a delivery for an organization webhook
+ * @description Redeliver a delivery for a webhook configured in an organization.
+ */
post: operations["orgs/redeliver-webhook-delivery"];
};
"/orgs/{org}/hooks/{hook_id}/pings": {
- /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */
+ /**
+ * Ping an organization webhook
+ * @description This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook.
+ */
post: operations["orgs/ping-webhook"];
};
"/orgs/{org}/installation": {
/**
- * Enables an authenticated GitHub App to find the organization's installation information.
+ * 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"];
};
"/orgs/{org}/installations": {
- /** Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint. */
+ /**
+ * List app installations for an organization
+ * @description Lists all GitHub Apps in an organization. The installation count includes all GitHub Apps installed on repositories in the organization. You must be an organization owner with `admin:read` scope to use this endpoint.
+ */
get: operations["orgs/list-app-installations"];
};
"/orgs/{org}/interaction-limits": {
- /** 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 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"];
- /** 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. */
+ /**
+ * 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"];
- /** Removes all interaction restrictions from public repositories in the given organization. You must be an organization owner to remove restrictions. */
+ /**
+ * 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"];
};
"/orgs/{org}/invitations": {
- /** The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`. */
+ /**
+ * 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"];
/**
- * 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.
+ * 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/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
post: operations["orgs/create-invitation"];
};
"/orgs/{org}/invitations/{invitation_id}": {
/**
- * Cancel an organization invitation. In order to cancel an organization invitation, the authenticated user must be an organization owner.
+ * 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/en/github/managing-subscriptions-and-notifications-on-github/about-notifications).
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications).
*/
delete: operations["orgs/cancel-invitation"];
};
"/orgs/{org}/invitations/{invitation_id}/teams": {
- /** List all teams associated with an invitation. In order to see invitations in an organization, the authenticated user must be an organization owner. */
+ /**
+ * 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"];
};
"/orgs/{org}/issues": {
/**
- * List issues in an organization assigned to the authenticated user.
+ * List organization issues assigned to the authenticated user
+ * @description List issues in an organization assigned to the authenticated user.
*
- * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this
+ * **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/reference/pulls#list-pull-requests)" endpoint.
+ * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint.
*/
get: operations["issues/list-for-org"];
};
"/orgs/{org}/members": {
- /** 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. */
+ /**
+ * 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"];
};
"/orgs/{org}/members/{username}": {
- /** Check if a user is, publicly or privately, a member of the organization. */
+ /**
+ * 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"];
- /** 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. */
+ /**
+ * 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.
+ */
delete: operations["orgs/remove-member"];
};
+ "/orgs/{org}/members/{username}/codespaces": {
+ /**
+ * List codespaces for a user in organization
+ * @description Lists the codespaces that a member of an organization has for repositories in that organization.
+ *
+ * You must authenticate using an access token with the `admin:org` scope or the `Organization codespaces` read permission to use this endpoint.
+ */
+ get: operations["codespaces/get-codespaces-for-user-in-org"];
+ };
"/orgs/{org}/members/{username}/codespaces/{codespace_name}": {
/**
- * Deletes a user's codespace.
+ * Delete a codespace from the organization
+ * @description Deletes a user's codespace.
*
- * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * To use this endpoint you must authenticate using one of the following methods:
+ *
+ * - An access token with the `admin:org` scope
+ * - An access token with write permissions for `Codespaces` on the specific repository and write permissions for `Organization codespaces`
*/
delete: operations["codespaces/delete-from-organization"];
};
"/orgs/{org}/members/{username}/codespaces/{codespace_name}/stop": {
/**
- * Stops a user's codespace.
+ * Stop a codespace for an organization user
+ * @description Stops a user's codespace.
*
- * You must authenticate using an access token with the `admin:org` scope to use this endpoint.
+ * To use this endpoint you must authenticate using one of the following methods:
+ *
+ * - An access token with the `admin:org` scope
+ * - An access token with write permissions for `Codespaces lifecycle admin` on the specific repository and write permissions for `Organization codespaces`
*/
post: operations["codespaces/stop-in-organization"];
};
+ "/orgs/{org}/members/{username}/copilot": {
+ /**
+ * Get Copilot for Business seat assignment details for a user
+ * @description **Note**: This endpoint is in beta and is subject to change.
+ *
+ * Gets the GitHub Copilot for Business seat assignment details for a member of an organization who currently has access to GitHub Copilot.
+ *
+ * Organization owners and members with admin permissions can view GitHub Copilot seat assignment details for members in their organization. You must authenticate using an access token with the `manage_billing:copilot` scope to use this endpoint.
+ */
+ get: operations["copilot/get-copilot-seat-details-for-user"];
+ };
"/orgs/{org}/memberships/{username}": {
- /** In order to get a user's membership with an organization, the authenticated user must be an organization member. The `state` parameter in the response can be used to identify the user's membership status. */
+ /**
+ * Get 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"];
/**
- * Only authenticated organization owners can add a member to the organization or update the member's role.
+ * 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/reference/orgs#get-organization-membership-for-a-user) will be `pending` until they accept the invitation.
+ * * 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.
*
@@ -1585,21 +1788,31 @@ export interface paths {
*/
put: operations["orgs/set-membership-for-user"];
/**
- * In order to remove a user's membership with an organization, the authenticated user must be an organization owner.
+ * 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.
*/
delete: operations["orgs/remove-membership-for-user"];
};
"/orgs/{org}/migrations": {
- /** Lists the most recent migrations. */
+ /**
+ * 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"];
- /** Initiates the generation of a migration archive. */
+ /**
+ * Start an organization migration
+ * @description Initiates the generation of a migration archive.
+ */
post: operations["migrations/start-for-org"];
};
"/orgs/{org}/migrations/{migration_id}": {
/**
- * Fetches the status of a migration.
+ * Get an organization migration status
+ * @description Fetches the status of a migration.
*
* The `state` of a migration can be one of the following values:
*
@@ -1611,134 +1824,313 @@ export interface paths {
get: operations["migrations/get-status-for-org"];
};
"/orgs/{org}/migrations/{migration_id}/archive": {
- /** Fetches the URL to a migration archive. */
+ /**
+ * Download an organization migration archive
+ * @description Fetches the URL to a migration archive.
+ */
get: operations["migrations/download-archive-for-org"];
- /** Deletes a previous migration archive. Migration archives are automatically deleted after seven days. */
+ /**
+ * 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"];
};
"/orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock": {
- /** Unlocks a repository that was locked for migration. You should unlock each migrated repository and [delete them](https://docs.github.com/rest/reference/repos#delete-a-repository) when the migration is complete and you no longer need the source data. */
+ /**
+ * 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"];
};
"/orgs/{org}/migrations/{migration_id}/repositories": {
- /** List all the repositories for this organization migration. */
+ /**
+ * List repositories in an organization migration
+ * @description List all the repositories for this organization migration.
+ */
get: operations["migrations/list-repos-for-org"];
};
"/orgs/{org}/outside_collaborators": {
- /** List all users who are outside collaborators of an organization. */
+ /**
+ * List outside collaborators for an organization
+ * @description List all users who are outside collaborators of an organization.
+ */
get: operations["orgs/list-outside-collaborators"];
};
"/orgs/{org}/outside_collaborators/{username}": {
- /** When an organization member is converted to an outside collaborator, they'll only have access to the repositories that their current team membership allows. The user will no longer be a member of the organization. For more information, see "[Converting an organization member to an outside collaborator](https://docs.github.com/articles/converting-an-organization-member-to-an-outside-collaborator/)". Converting an organization member to an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)." */
+ /**
+ * 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"];
- /** Removing a user from this list will remove them from all the organization's repositories. */
+ /**
+ * 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"];
};
"/orgs/{org}/packages": {
/**
- * Lists all packages in an organization readable by the user.
+ * List packages for an organization
+ * @description Lists packages in an organization readable by the user.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.
- * If `package_type` is not `container`, your token must also include the `repo` scope.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
};
"/orgs/{org}/packages/{package_type}/{package_name}": {
/**
- * Gets a specific package in an organization.
+ * Get a package for an organization
+ * @description Gets a specific package in an organization.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.
- * If `package_type` is not `container`, your token must also include the `repo` scope.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
/**
- * 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.
+ * 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.
*
- * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition:
- * - If `package_type` is not `container`, your token must also include the `repo` scope.
- * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete.
+ * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition:
+ * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. 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#permissions-for-repository-scoped-packages)."
+ * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. 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)."
*/
delete: operations["packages/delete-package-for-org"];
};
"/orgs/{org}/packages/{package_type}/{package_name}/restore": {
/**
- * Restores an entire package in an organization.
+ * 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.
*
- * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition:
- * - If `package_type` is not `container`, your token must also include the `repo` scope.
- * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore.
+ * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition:
+ * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. 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#permissions-for-repository-scoped-packages)."
+ * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. 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)."
*/
post: operations["packages/restore-package-for-org"];
};
"/orgs/{org}/packages/{package_type}/{package_name}/versions": {
/**
- * Returns all package versions for a package owned by an organization.
+ * List package versions for a package owned by an organization
+ * @description Lists package versions for a package owned by an organization.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.
- * If `package_type` is not `container`, your token must also include the `repo` scope.
+ * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
};
"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}": {
/**
- * Gets a specific package version in an organization.
+ * Get a package version for an organization
+ * @description Gets a specific package version in an organization.
*
- * You must authenticate using an access token with the `packages:read` scope.
- * If `package_type` is not `container`, your token must also include the `repo` scope.
+ * You must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
/**
- * 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.
+ * 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.
*
- * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition:
- * - If `package_type` is not `container`, your token must also include the `repo` scope.
- * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete.
+ * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition:
+ * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. 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#permissions-for-repository-scoped-packages)."
+ * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. 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)."
*/
delete: operations["packages/delete-package-version-for-org"];
};
"/orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": {
/**
- * Restores a specific package version in an organization.
+ * 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.
*
- * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition:
- * - If `package_type` is not `container`, your token must also include the `repo` scope.
- * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore.
+ * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition:
+ * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. 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#permissions-for-repository-scoped-packages)."
+ * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. 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)."
*/
post: operations["packages/restore-package-version-for-org"];
};
+ "/orgs/{org}/personal-access-token-requests": {
+ /**
+ * 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 call this API,
+ * using the `organization_personal_access_token_requests: read` permission.
+ *
+ * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.
+ */
+ get: operations["orgs/list-pat-grant-requests"];
+ /**
+ * 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 call this API,
+ * using the `organization_personal_access_token_requests: write` permission.
+ *
+ * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.
+ */
+ post: operations["orgs/review-pat-grant-requests-in-bulk"];
+ };
+ "/orgs/{org}/personal-access-token-requests/{pat_request_id}": {
+ /**
+ * 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 call this API,
+ * using the `organization_personal_access_token_requests: write` permission.
+ *
+ * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.
+ */
+ post: operations["orgs/review-pat-grant-request"];
+ };
+ "/orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories": {
+ /**
+ * 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 call this API,
+ * using the `organization_personal_access_token_requests: read` permission.
+ *
+ * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.
+ */
+ get: operations["orgs/list-pat-grant-request-repositories"];
+ };
+ "/orgs/{org}/personal-access-tokens": {
+ /**
+ * 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 call this API,
+ * using the `organization_personal_access_tokens: read` permission.
+ *
+ * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.
+ */
+ get: operations["orgs/list-pat-grants"];
+ /**
+ * 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 call this API,
+ * using the `organization_personal_access_tokens: write` permission.
+ *
+ * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.
+ */
+ post: operations["orgs/update-pat-accesses"];
+ };
+ "/orgs/{org}/personal-access-tokens/{pat_id}": {
+ /**
+ * 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 call this API,
+ * using the `organization_personal_access_tokens: write` permission.
+ *
+ * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.
+ */
+ post: operations["orgs/update-pat-access"];
+ };
+ "/orgs/{org}/personal-access-tokens/{pat_id}/repositories": {
+ /**
+ * 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 call this API,
+ * using the `organization_personal_access_tokens: read` permission.
+ *
+ * **Note**: Fine-grained PATs are in public beta. Related APIs, events, and functionality are subject to change.
+ */
+ get: operations["orgs/list-pat-grant-repositories"];
+ };
"/orgs/{org}/projects": {
- /** Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */
+ /**
+ * List organization projects
+ * @description Lists the projects in an organization. Returns a `404 Not Found` status if projects are disabled in the organization. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.
+ */
get: operations["projects/list-for-org"];
- /** Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */
+ /**
+ * Create an organization project
+ * @description Creates an organization project board. Returns a `410 Gone` status if projects are disabled in the organization or if the organization does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.
+ */
post: operations["projects/create-for-org"];
};
+ "/orgs/{org}/properties/schema": {
+ /**
+ * Get all custom properties for an organization
+ * @description Gets all custom properties defined for an organization.
+ * You must be an organization owner to use this endpoint.
+ */
+ get: operations["orgs/get-all-custom-properties"];
+ /**
+ * Create or update custom properties for an organization
+ * @description Creates new or updates existing custom properties defined for an organization in a batch.
+ * Only organization owners (or users with the proper permissions granted by them) can update these properties
+ */
+ patch: operations["orgs/create-or-update-custom-properties"];
+ };
+ "/orgs/{org}/properties/schema/{custom_property_name}": {
+ /**
+ * Get a custom property for an organization
+ * @description Gets a custom property that is defined for an organization.
+ * You must be an organization owner to use this endpoint.
+ */
+ 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.
+ * You must be an organization owner to use this endpoint.
+ */
+ put: operations["orgs/create-or-update-custom-property"];
+ /**
+ * Remove a custom property for an organization
+ * @description Removes a custom property that is defined for an organization.
+ * You must be an organization owner to use this endpoint.
+ */
+ delete: operations["orgs/remove-custom-property"];
+ };
+ "/orgs/{org}/properties/values": {
+ /**
+ * 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"];
+ /**
+ * 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.
+ *
+ * Only organization owners (or users with the proper permissions granted by them) can update these properties
+ */
+ patch: operations["orgs/create-or-update-custom-properties-values-for-repos"];
+ };
"/orgs/{org}/public_members": {
- /** Members of an organization can choose to have their membership publicized or not. */
+ /**
+ * List public organization members
+ * @description Members of an organization can choose to have their membership publicized or not.
+ */
get: operations["orgs/list-public-members"];
};
"/orgs/{org}/public_members/{username}": {
+ /**
+ * 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"];
/**
- * The user can publicize their own membership. (A user cannot publicize the membership for another 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 verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)."
*/
put: operations["orgs/set-public-membership-for-authenticated-user"];
+ /**
+ * 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"];
};
"/orgs/{org}/repos": {
- /** Lists repositories for the specified organization. */
+ /**
+ * 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"];
/**
- * Creates a new repository in the specified organization. The authenticated user must be a member of the organization.
+ * Create an organization repository
+ * @description Creates a new repository in the specified organization. The authenticated user must be a member of the organization.
*
* **OAuth scope requirements**
*
@@ -1749,9 +2141,55 @@ export interface paths {
*/
post: operations["repos/create-in-org"];
};
+ "/orgs/{org}/rulesets": {
+ /**
+ * Get all organization repository rulesets
+ * @description Get all the repository rulesets for an organization.
+ */
+ get: operations["repos/get-org-rulesets"];
+ /**
+ * Create an organization repository ruleset
+ * @description Create a repository ruleset for an organization.
+ */
+ post: operations["repos/create-org-ruleset"];
+ };
+ "/orgs/{org}/rulesets/rule-suites": {
+ /**
+ * 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"];
+ };
+ "/orgs/{org}/rulesets/rule-suites/{rule_suite_id}": {
+ /**
+ * 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"];
+ };
+ "/orgs/{org}/rulesets/{ruleset_id}": {
+ /**
+ * Get an organization repository ruleset
+ * @description Get a repository ruleset for an organization.
+ */
+ get: operations["repos/get-org-ruleset"];
+ /**
+ * Update an organization repository ruleset
+ * @description Update a ruleset for an organization.
+ */
+ put: operations["repos/update-org-ruleset"];
+ /**
+ * Delete an organization repository ruleset
+ * @description Delete a ruleset for an organization.
+ */
+ delete: operations["repos/delete-org-ruleset"];
+ };
"/orgs/{org}/secret-scanning/alerts": {
/**
- * Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest.
+ * List secret scanning alerts for an organization
+ * @description Lists secret scanning alerts for eligible repositories in an organization, from newest to oldest.
* To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `repo` scope or `security_events` scope.
* For public repositories, you may instead use the `public_repo` scope.
*
@@ -1759,31 +2197,61 @@ export interface paths {
*/
get: operations["secret-scanning/list-alerts-for-org"];
};
- "/orgs/{org}/settings/billing/actions": {
+ "/orgs/{org}/security-advisories": {
/**
- * Gets the summary of the free and paid GitHub Actions minutes used.
+ * List repository security advisories for an organization
+ * @description Lists repository security advisories for an organization.
*
- * Paid minutes only apply to workflows in private repositories that use GitHub-hosted runners. Minutes used is listed for each GitHub-hosted runner operating system. Any job re-runs are also included in the usage. The usage returned includes any minute multipliers for macOS and Windows runners, and is rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)".
+ * To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the `repo` scope or `repository_advisories:write` permission.
+ */
+ get: operations["security-advisories/list-org-repository-advisories"];
+ };
+ "/orgs/{org}/security-managers": {
+ /**
+ * List security manager teams
+ * @description Lists teams that are security managers for 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)."
*
- * Access tokens must have the `repo` or `admin:org` scope.
+ * To use this endpoint, you must be an administrator or security manager for the organization, and you must use an access token with the `read:org` scope.
+ *
+ * GitHub Apps must have the `administration` organization read permission to use this endpoint.
*/
- get: operations["billing/get-github-actions-billing-org"];
+ get: operations["orgs/list-security-manager-teams"];
};
- "/orgs/{org}/settings/billing/advanced-security": {
+ "/orgs/{org}/security-managers/teams/{team_slug}": {
/**
- * Gets the GitHub Advanced Security active committers for an organization per repository.
+ * Add a security manager team
+ * @description Adds a team as a security manager for an organization. For more information, see "[Managing security for an organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization) for an organization."
*
- * Each distinct user login across all repositories is counted as a single Advanced Security seat, so the `total_advanced_security_committers` is not the sum of advanced_security_committers for each repository.
+ * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `write:org` scope.
*
- * If this organization defers to an enterprise for billing, the `total_advanced_security_committers` returned from the organization API may include some users that are in more than one organization, so they will only consume a single Advanced Security seat at the enterprise level.
+ * GitHub Apps must have the `administration` organization read-write permission to use this endpoint.
+ */
+ put: operations["orgs/add-security-manager-team"];
+ /**
+ * Remove a security manager team
+ * @description Removes the security manager role from a team for 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) team from an organization."
+ *
+ * To use this endpoint, you must be an administrator for the organization, and you must use an access token with the `admin:org` scope.
*
- * The total number of repositories with committer information is tracked by the `total_count` field.
+ * GitHub Apps must have the `administration` organization read-write permission to use this endpoint.
*/
- get: operations["billing/get-github-advanced-security-billing-org"];
+ delete: operations["orgs/remove-security-manager-team"];
+ };
+ "/orgs/{org}/settings/billing/actions": {
+ /**
+ * 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)".
+ *
+ * Access tokens must have the `repo` or `admin:org` scope.
+ */
+ get: operations["billing/get-github-actions-billing-org"];
};
"/orgs/{org}/settings/billing/packages": {
/**
- * Gets the free and paid storage used for GitHub Packages in gigabytes.
+ * 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)."
*
@@ -1793,7 +2261,8 @@ export interface paths {
};
"/orgs/{org}/settings/billing/shared-storage": {
/**
- * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.
+ * 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)."
*
@@ -1801,33 +2270,31 @@ export interface paths {
*/
get: operations["billing/get-shared-storage-billing-org"];
};
- "/orgs/{org}/team-sync/groups": {
+ "/orgs/{org}/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.
- *
- * List IdP groups available in an organization. You can limit your page results using the `per_page` parameter. GitHub generates a url-encoded `page` token using a cursor value for where the next page begins. For more information on cursor pagination, see "[Offset and Cursor Pagination explained](https://dev.to/jackmarchant/offset-and-cursor-pagination-explained-b89)."
+ * List teams
+ * @description Lists all teams in an organization that are visible to the authenticated user.
*/
- get: operations["teams/list-idp-groups-for-org"];
- };
- "/orgs/{org}/teams": {
- /** Lists all teams in an organization that are visible to the authenticated user. */
get: operations["teams/list"];
/**
- * To create a team, the authenticated user must be a member or owner of `{org}`. By default, organization members can create teams. Organization owners can limit team creation to organization owners. For more information, see "[Setting team creation permissions](https://docs.github.com/en/articles/setting-team-creation-permissions-in-your-organization)."
+ * 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/en/github/setting-up-and-managing-organizations-and-teams/about-teams)".
+ * When you create a new team, you automatically become a team maintainer without explicitly adding yourself to the optional array of `maintainers`. For more information, see "[About teams](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/about-teams)".
*/
post: operations["teams/create"];
};
"/orgs/{org}/teams/{team_slug}": {
/**
- * Gets a team using the team's `slug`. GitHub generates the `slug` from the team `name`.
+ * 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"];
/**
- * To delete a team, the authenticated user must be an organization owner or team maintainer.
+ * 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.
*
@@ -1835,7 +2302,8 @@ export interface paths {
*/
delete: operations["teams/delete-in-org"];
/**
- * To edit a team, the authenticated user must either be an organization owner or a team maintainer.
+ * 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}`.
*/
@@ -1843,15 +2311,17 @@ export interface paths {
};
"/orgs/{org}/teams/{team_slug}/discussions": {
/**
- * List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * List discussions
+ * @description List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*
* **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/discussions`.
*/
get: operations["teams/list-discussions-in-org"];
/**
- * Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * Create a discussion
+ * @description Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*
- * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*
* **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/{org_id}/team/{team_id}/discussions`.
*/
@@ -1859,19 +2329,22 @@ export interface paths {
};
"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}": {
/**
- * Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * Get a discussion
+ * @description Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*
* **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}`.
*/
get: operations["teams/get-discussion-in-org"];
/**
- * Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * Delete a discussion
+ * @description Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*
* **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}`.
*/
delete: operations["teams/delete-discussion-in-org"];
/**
- * Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * Update a discussion
+ * @description Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*
* **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}`.
*/
@@ -1879,15 +2352,17 @@ export interface paths {
};
"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments": {
/**
- * List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * List discussion comments
+ * @description List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*
* **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`.
*/
get: operations["teams/list-discussion-comments-in-org"];
/**
- * Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * Create a discussion comment
+ * @description Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*
- * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*
* **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`.
*/
@@ -1895,19 +2370,22 @@ export interface paths {
};
"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}": {
/**
- * Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * Get a discussion comment
+ * @description Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*
* **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}`.
*/
get: operations["teams/get-discussion-comment-in-org"];
/**
- * Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * Delete a discussion comment
+ * @description Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*
* **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}`.
*/
delete: operations["teams/delete-discussion-comment-in-org"];
/**
- * Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * Update a discussion comment
+ * @description Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*
* **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}`.
*/
@@ -1915,13 +2393,15 @@ export interface paths {
};
"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions": {
/**
- * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments/). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * 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). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*
* **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`.
*/
get: operations["reactions/list-for-team-discussion-comment-in-org"];
/**
- * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment.
+ * 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). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment.
*
* **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/comments/:comment_number/reactions`.
*/
@@ -1929,21 +2409,24 @@ export interface paths {
};
"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}": {
/**
- * **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 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/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * Delete a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*/
delete: operations["reactions/delete-for-team-discussion-comment"];
};
"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions": {
/**
- * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * List reactions for a team discussion
+ * @description List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*
* **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`.
*/
get: operations["reactions/list-for-team-discussion-in-org"];
/**
- * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion.
+ * Create reaction for a team discussion
+ * @description Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion.
*
* **Note:** You can also specify a team by `org_id` and `team_id` using the route `POST /organizations/:org_id/team/:team_id/discussions/:discussion_number/reactions`.
*/
@@ -1951,35 +2434,17 @@ export interface paths {
};
"/orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}": {
/**
- * **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 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/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * Delete a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*/
delete: operations["reactions/delete-for-team-discussion"];
};
- "/orgs/{org}/teams/{team_slug}/external-groups": {
- /**
- * Lists a connection between a team and an external group.
- *
- * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation.
- */
- get: operations["teams/list-linked-external-idp-groups-to-team-for-org"];
- /**
- * Deletes a connection between a team and an external group.
- *
- * You can manage team membership with your IdP using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
- */
- delete: operations["teams/unlink-external-idp-group-from-team-for-org"];
- /**
- * Creates a connection between a team and an external group. Only one external group can be linked to a team.
- *
- * You can manage team membership with your identity provider using Enterprise Managed Users for GitHub Enterprise Cloud. For more information, see "[GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products)" in the GitHub Help documentation.
- */
- patch: operations["teams/link-external-idp-group-to-team-for-org"];
- };
"/orgs/{org}/teams/{team_slug}/invitations": {
/**
- * The return hash contains a `role` field which refers to the Organization Invitation role and will be one of the following values: `direct_member`, `admin`, `billing_manager`, `hiring_manager`, or `reinstate`. If the invitee is not a GitHub member, the `login` field in the return hash will be `null`.
+ * 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`.
*/
@@ -1987,7 +2452,8 @@ export interface paths {
};
"/orgs/{org}/teams/{team_slug}/members": {
/**
- * Team members will include the members of child teams.
+ * 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.
*/
@@ -1995,7 +2461,8 @@ export interface paths {
};
"/orgs/{org}/teams/{team_slug}/memberships/{username}": {
/**
- * Team members will include the members of child teams.
+ * 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.
*
@@ -2004,13 +2471,14 @@ export interface paths {
* **Note:**
* The response contains the `state` of the membership and the member's `role`.
*
- * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team).
+ * 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"];
/**
- * 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.
+ * 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.
*
- * 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/)."
*
@@ -2022,9 +2490,10 @@ export interface paths {
*/
put: operations["teams/add-or-update-membership-for-user-in-org"];
/**
- * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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.
*
- * 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/)."
*
@@ -2034,7 +2503,8 @@ export interface paths {
};
"/orgs/{org}/teams/{team_slug}/projects": {
/**
- * Lists the organization projects for a team.
+ * List team projects
+ * @description Lists the organization projects for a team.
*
* **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects`.
*/
@@ -2042,19 +2512,22 @@ export interface paths {
};
"/orgs/{org}/teams/{team_slug}/projects/{project_id}": {
/**
- * Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team.
+ * Check team permissions for a project
+ * @description Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team.
*
* **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/projects/{project_id}`.
*/
get: operations["teams/check-permissions-for-project-in-org"];
/**
- * Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization.
+ * Add or update team project permissions
+ * @description Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization.
*
* **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/projects/{project_id}`.
*/
put: operations["teams/add-or-update-project-permissions-in-org"];
/**
- * Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project.
+ * Remove a project from a team
+ * @description Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. This endpoint removes the project from the team, but does not delete the project.
*
* **Note:** You can also specify a team by `org_id` and `team_id` using the route `DELETE /organizations/{org_id}/team/{team_id}/projects/{project_id}`.
*/
@@ -2062,7 +2535,8 @@ export interface paths {
};
"/orgs/{org}/teams/{team_slug}/repos": {
/**
- * Lists a team's repositories visible to the authenticated user.
+ * 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`.
*/
@@ -2070,7 +2544,8 @@ export interface paths {
};
"/orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}": {
/**
- * 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.
+ * 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/overview/media-types/) via the `application/vnd.github.v3.repository+json` accept header.
*
@@ -2080,135 +2555,221 @@ export interface paths {
*/
get: operations["teams/check-permissions-for-repo-in-org"];
/**
- * To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)."
+ * Add or update team repository permissions
+ * @description To add a repository to a team or update the team's permission on a repository, the authenticated user must have admin access to the repository, and must be able to see the team. The repository must be owned by the organization, or a direct fork of a repository owned by the organization. You will get a `422 Unprocessable Entity` status if you attempt to add a repository to a team that is not owned by the organization. Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)."
*
* **Note:** You can also specify a team by `org_id` and `team_id` using the route `PUT /organizations/{org_id}/team/{team_id}/repos/{owner}/{repo}`.
*
- * For more information about the permission levels, see "[Repository permission levels for an organization](https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)".
+ * 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"];
/**
- * 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.
+ * 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"];
};
- "/orgs/{org}/teams/{team_slug}/team-sync/group-mappings": {
+ "/orgs/{org}/teams/{team_slug}/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.
- *
- * List IdP groups connected to a team on GitHub.
+ * 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}/team-sync/group-mappings`.
+ * **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-idp-groups-in-org"];
+ get: operations["teams/list-child-in-org"];
+ };
+ "/orgs/{org}/{security_product}/{enablement}": {
/**
- * 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.
+ * Enable or disable a security feature for an organization
+ * @description Enables or disables the specified security feature for all eligible repositories in an organization.
*
- * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team.
+ * To use this endpoint, you must be an organization owner or be member of a team with the security manager role.
+ * A token with the 'write:org' scope is also required.
*
- * **Note:** You can also specify a team by `org_id` and `team_id` using the route `PATCH /organizations/{org_id}/team/{team_id}/team-sync/group-mappings`.
- */
- patch: operations["teams/create-or-update-idp-group-connections-in-org"];
- };
- "/orgs/{org}/teams/{team_slug}/teams": {
- /**
- * Lists the child teams of the team specified by `{team_slug}`.
+ * GitHub Apps must have the `organization_administration:write` permission to use this endpoint.
*
- * **Note:** You can also specify a team by `org_id` and `team_id` using the route `GET /organizations/{org_id}/team/{team_id}/teams`.
+ * 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["teams/list-child-in-org"];
+ post: operations["orgs/enable-or-disable-security-product-on-all-org-repos"];
};
"/projects/columns/cards/{card_id}": {
+ /**
+ * Get a project card
+ * @description Gets information about a project card.
+ */
get: operations["projects/get-card"];
+ /**
+ * Delete a project card
+ * @description Deletes a project card
+ */
delete: operations["projects/delete-card"];
+ /** Update an existing project card */
patch: operations["projects/update-card"];
};
"/projects/columns/cards/{card_id}/moves": {
+ /** Move a project card */
post: operations["projects/move-card"];
};
"/projects/columns/{column_id}": {
+ /**
+ * Get a project column
+ * @description Gets information about a project column.
+ */
get: operations["projects/get-column"];
+ /**
+ * Delete a project column
+ * @description Deletes a project column.
+ */
delete: operations["projects/delete-column"];
+ /** Update an existing project column */
patch: operations["projects/update-column"];
};
"/projects/columns/{column_id}/cards": {
+ /**
+ * List project cards
+ * @description Lists the project cards in a project.
+ */
get: operations["projects/list-cards"];
+ /** Create a project card */
post: operations["projects/create-card"];
};
"/projects/columns/{column_id}/moves": {
+ /** Move a project column */
post: operations["projects/move-column"];
};
"/projects/{project_id}": {
- /** Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */
+ /**
+ * Get a project
+ * @description Gets a project by its `id`. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.
+ */
get: operations["projects/get"];
- /** Deletes a project board. Returns a `404 Not Found` status if projects are disabled. */
+ /**
+ * Delete a project
+ * @description Deletes a project board. Returns a `404 Not Found` status if projects are disabled.
+ */
delete: operations["projects/delete"];
- /** Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */
+ /**
+ * Update a project
+ * @description Updates a project board's information. Returns a `404 Not Found` status if projects are disabled. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.
+ */
patch: operations["projects/update"];
};
"/projects/{project_id}/collaborators": {
- /** Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators. */
+ /**
+ * List project collaborators
+ * @description Lists the collaborators for an organization project. For a project, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners. You must be an organization owner or a project `admin` to list collaborators.
+ */
get: operations["projects/list-collaborators"];
};
"/projects/{project_id}/collaborators/{username}": {
- /** Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator. */
+ /**
+ * Add project collaborator
+ * @description Adds a collaborator to an organization project and sets their permission level. You must be an organization owner or a project `admin` to add a collaborator.
+ */
put: operations["projects/add-collaborator"];
- /** Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator. */
+ /**
+ * Remove user as a collaborator
+ * @description Removes a collaborator from an organization project. You must be an organization owner or a project `admin` to remove a collaborator.
+ */
delete: operations["projects/remove-collaborator"];
};
"/projects/{project_id}/collaborators/{username}/permission": {
- /** Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level. */
+ /**
+ * Get project permission for a user
+ * @description Returns the collaborator's permission level for an organization project. Possible values for the `permission` key: `admin`, `write`, `read`, `none`. You must be an organization owner or a project `admin` to review a user's permission level.
+ */
get: operations["projects/get-permission-for-user"];
};
"/projects/{project_id}/columns": {
+ /**
+ * List project columns
+ * @description Lists the project columns in a project.
+ */
get: operations["projects/list-columns"];
+ /**
+ * Create a project column
+ * @description Creates a new project column.
+ */
post: operations["projects/create-column"];
};
"/rate_limit": {
/**
- * **Note:** Accessing this endpoint does not count against your REST API rate limit.
+ * 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)."
+ * * 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 `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/overview/api-versions)."
*
* **Note:** The `rate` object is deprecated. If you're writing new API client code or updating existing code, you should use the `core` object instead of the `rate` object. The `core` object contains the same information that is present in the `rate` object.
*/
get: operations["rate-limit/get"];
};
"/repos/{owner}/{repo}": {
- /** The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network. */
+ /**
+ * Get 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"];
/**
- * Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required.
+ * Delete a repository
+ * @description Deleting a repository requires admin access. If OAuth is used, the `delete_repo` scope is required.
*
* If an organization owner has configured the organization to prevent members from deleting organization-owned
* repositories, you will get a `403 Forbidden` response.
*/
delete: operations["repos/delete"];
- /** **Note**: To edit a repository's topics, use the [Replace all repository topics](https://docs.github.com/rest/reference/repos#replace-all-repository-topics) endpoint. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/actions/artifacts": {
- /** Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */
+ /**
+ * List artifacts for a repository
+ * @description Lists all artifacts for a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
+ */
get: operations["actions/list-artifacts-for-repo"];
};
"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": {
- /** Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */
+ /**
+ * Get an artifact
+ * @description Gets a specific artifact for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
+ */
get: operations["actions/get-artifact"];
- /** Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */
+ /**
+ * Delete an artifact
+ * @description Deletes an artifact for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.
+ */
delete: operations["actions/delete-artifact"];
};
"/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}": {
/**
- * Gets a redirect URL to download an archive for a repository. This URL expires after 1 minute. Look for `Location:` in
- * the response header to find the URL for the download. The `:archive_format` must be `zip`. Anyone with read access to
- * the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.
+ * 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`.
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
* GitHub Apps must have the `actions:read` permission to use this endpoint.
*/
get: operations["actions/download-artifact"];
};
"/repos/{owner}/{repo}/actions/cache/usage": {
/**
- * Gets GitHub Actions cache usage for a repository.
+ * 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, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
*/
@@ -2216,13 +2777,15 @@ export interface paths {
};
"/repos/{owner}/{repo}/actions/caches": {
/**
- * Lists the GitHub Actions caches for a repository.
+ * List GitHub Actions caches for a repository
+ * @description Lists the GitHub Actions caches for a repository.
* You must authenticate using an access token with the `repo` scope to use this endpoint.
* GitHub Apps must have the `actions:read` permission to use this endpoint.
*/
get: operations["actions/get-actions-cache-list"];
/**
- * Deletes one or more GitHub Actions caches for a repository, using a complete cache key. By default, all caches that match the provided key are deleted, but you can optionally provide a Git ref to restrict deletions to caches that match both the provided key and the Git ref.
+ * 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.
*
* You must authenticate using an access token with the `repo` scope to use this endpoint.
*
@@ -2232,7 +2795,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/actions/caches/{cache_id}": {
/**
- * Deletes a GitHub Actions cache for a repository, using a cache ID.
+ * 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.
*
* You must authenticate using an access token with the `repo` scope to use this endpoint.
*
@@ -2241,12 +2805,16 @@ export interface paths {
delete: operations["actions/delete-actions-cache-by-id"];
};
"/repos/{owner}/{repo}/actions/jobs/{job_id}": {
- /** Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */
+ /**
+ * Get a job for a workflow run
+ * @description Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
+ */
get: operations["actions/get-job-for-workflow-run"];
};
"/repos/{owner}/{repo}/actions/jobs/{job_id}/logs": {
/**
- * Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look
+ * 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 you must use an access token with the `repo` scope. GitHub Apps must
* have the `actions:read` permission to use this endpoint.
@@ -2254,34 +2822,65 @@ export interface paths {
get: operations["actions/download-job-logs-for-workflow-run"];
};
"/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun": {
- /** Re-run a job and its dependent jobs in a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */
+ /**
+ * Re-run a job from a workflow run
+ * @description Re-run a job and its dependent jobs in a workflow run.
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `actions:write` permission to use this endpoint.
+ */
post: operations["actions/re-run-job-for-workflow-run"];
};
"/repos/{owner}/{repo}/actions/oidc/customization/sub": {
/**
- * Gets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository.
+ * Get the customization template for an OIDC subject claim for a repository
+ * @description Gets the customization template for an OpenID Connect (OIDC) subject claim.
* You must authenticate using an access token with the `repo` scope to use this
* endpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint.
*/
get: operations["actions/get-custom-oidc-sub-claim-for-repo"];
/**
- * Sets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository.
+ * 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.
* You must authenticate using an access token with the `repo` scope to use this
* endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.
*/
put: operations["actions/set-custom-oidc-sub-claim-for-repo"];
};
+ "/repos/{owner}/{repo}/actions/organization-secrets": {
+ /**
+ * List repository organization secrets
+ * @description Lists all organization secrets shared with a repository without revealing their encrypted
+ * values.
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `secrets` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
+ */
+ get: operations["actions/list-repo-organization-secrets"];
+ };
+ "/repos/{owner}/{repo}/actions/organization-variables": {
+ /**
+ * List repository organization variables
+ * @description Lists all organiation variables shared with a repository.
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
+ */
+ get: operations["actions/list-repo-organization-variables"];
+ };
"/repos/{owner}/{repo}/actions/permissions": {
/**
- * 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.
+ * 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.
*
* You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.
*/
get: operations["actions/get-github-actions-permissions-repository"];
/**
- * Sets the GitHub Actions permissions policy for enabling GitHub Actions and allowed actions and reusable workflows in the repository.
- *
- * If the repository belongs to an organization or enterprise that has set restrictive permissions at the organization or enterprise levels, such as `allowed_actions` to `selected` actions and reusable workflows, then you cannot override them for the repository.
+ * 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.
*
* You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.
*/
@@ -2289,16 +2888,20 @@ export interface paths {
};
"/repos/{owner}/{repo}/actions/permissions/access": {
/**
- * Gets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository.
- * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)."
+ * 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)."
*
* You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the
* repository `administration` permission to use this endpoint.
*/
get: operations["actions/get-workflow-access-to-repository"];
/**
- * Sets the level of access that workflows outside of the repository have to actions and reusable workflows in the repository.
- * This endpoint only applies to internal repositories. For more information, see "[Managing GitHub Actions settings for a repository](https://docs.github.com/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-an-internal-repository)."
+ * 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)".
*
* You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the
* repository `administration` permission to use this endpoint.
@@ -2307,17 +2910,15 @@ export interface paths {
};
"/repos/{owner}/{repo}/actions/permissions/selected-actions": {
/**
- * 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)."
+ * 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)."
*
* You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.
*/
get: operations["actions/get-allowed-actions-repository"];
/**
- * Sets the actions and reusable workflows that are allowed in a repository. To use this endpoint, the repository permission policy for `allowed_actions` must be configured to `selected`. For more information, see "[Set GitHub Actions permissions for a repository](#set-github-actions-permissions-for-a-repository)."
- *
- * If the repository belongs to an organization or enterprise that has `selected` actions and reusable workflows set at the organization or enterprise levels, then you cannot override any of the allowed actions and reusable workflows settings.
- *
- * To use the `patterns_allowed` setting for private repositories, the repository must belong to an enterprise. If the repository does not belong to an enterprise, then the `patterns_allowed` setting only applies to public repositories.
+ * 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)."
*
* You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration` repository permission to use this API.
*/
@@ -2325,7 +2926,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/actions/permissions/workflow": {
/**
- * Gets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository,
+ * 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)."
*
@@ -2333,7 +2935,8 @@ export interface paths {
*/
get: operations["actions/get-github-actions-default-workflow-permissions-repository"];
/**
- * Sets the default workflow permissions granted to the `GITHUB_TOKEN` when running workflows in a repository, and sets if GitHub Actions
+ * 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)."
*
@@ -2342,145 +2945,201 @@ export interface paths {
put: operations["actions/set-github-actions-default-workflow-permissions-repository"];
};
"/repos/{owner}/{repo}/actions/runners": {
- /** Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. */
+ /**
+ * List self-hosted runners for a repository
+ * @description Lists all self-hosted runners configured in a repository.
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
+ */
get: operations["actions/list-self-hosted-runners-for-repo"];
};
"/repos/{owner}/{repo}/actions/runners/downloads": {
/**
- * Lists binaries for the runner application that you can download and run.
+ * List runner applications for a repository
+ * @description Lists binaries for the runner application that you can download and run.
*
* You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
get: operations["actions/list-runner-applications-for-repo"];
};
+ "/repos/{owner}/{repo}/actions/runners/generate-jitconfig": {
+ /**
+ * 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.
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
+ */
+ post: operations["actions/generate-runner-jitconfig-for-repo"];
+ };
"/repos/{owner}/{repo}/actions/runners/registration-token": {
/**
- * Returns a token that you can pass to the `config` script. The token expires after one hour. You must authenticate
- * using an access token with the `repo` scope to use this endpoint.
+ * Create a registration token for a repository
+ * @description Returns a token that you can pass to the `config` script. The token
+ * expires after one hour.
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*
- * #### Example using registration token
+ * Example using registration token:
*
- * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided by this endpoint.
+ * Configure your self-hosted runner, replacing `TOKEN` with the registration token provided
+ * by this endpoint.
*
- * ```
- * ./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN
- * ```
+ * ```config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN```
*/
post: operations["actions/create-registration-token-for-repo"];
};
"/repos/{owner}/{repo}/actions/runners/remove-token": {
/**
- * Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour.
+ * Create a remove token for a repository
+ * @description Returns a token that you can pass to remove a self-hosted runner from
+ * a repository. The token expires after one hour.
+ *
* You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*
- * #### Example using remove token
+ * Example using remove token:
*
- * To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.
+ * To remove your self-hosted runner from a repository, replace TOKEN with
+ * the remove token provided by this endpoint.
*
- * ```
- * ./config.sh remove --token TOKEN
- * ```
+ * ```config.sh remove --token TOKEN```
*/
post: operations["actions/create-remove-token-for-repo"];
};
"/repos/{owner}/{repo}/actions/runners/{runner_id}": {
/**
- * Gets a specific self-hosted runner configured in a repository.
+ * Get a self-hosted runner for a repository
+ * @description Gets a specific self-hosted runner configured in a repository.
*
- * You must authenticate using an access token with the `repo` scope to use this
- * endpoint.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
get: operations["actions/get-self-hosted-runner-for-repo"];
/**
- * 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.
+ * 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.
*
- * You must authenticate using an access token with the `repo`
- * scope to use this endpoint.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
delete: operations["actions/delete-self-hosted-runner-from-repo"];
};
"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels": {
/**
- * Lists all labels for a self-hosted runner configured in a repository.
+ * List labels for a self-hosted runner for a repository
+ * @description Lists all labels for a self-hosted runner configured in a repository.
*
- * You must authenticate using an access token with the `repo` scope to use this
- * endpoint.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
get: operations["actions/list-labels-for-self-hosted-runner-for-repo"];
/**
- * Remove all previous custom labels and set the new custom labels for a specific
+ * 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.
*
- * You must authenticate using an access token with the `repo` scope to use this
- * endpoint.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
put: operations["actions/set-custom-labels-for-self-hosted-runner-for-repo"];
/**
- * Add custom labels to a self-hosted runner configured in a repository.
+ * Add custom labels to a self-hosted runner for a repository
+ * @description Add custom labels to a self-hosted runner configured in a repository.
*
- * You must authenticate using an access token with the `repo` scope to use this
- * endpoint.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
post: operations["actions/add-custom-labels-to-self-hosted-runner-for-repo"];
/**
- * Remove all custom labels from a self-hosted runner configured in a
+ * 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.
*
- * You must authenticate using an access token with the `repo` scope to use this
- * endpoint.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
delete: operations["actions/remove-all-custom-labels-from-self-hosted-runner-for-repo"];
};
"/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}": {
/**
- * Remove a custom label from a self-hosted runner configured
+ * 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.
*
- * You must authenticate using an access token with the `repo` scope to use this
- * endpoint.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `administration` permission for repositories and the `organization_self_hosted_runners` permission for organizations.
+ * Authenticated users must have admin access to repositories or organizations, or the `manage_runners:enterprise` scope for enterprises, to use these endpoints.
*/
delete: operations["actions/remove-custom-label-from-self-hosted-runner-for-repo"];
};
"/repos/{owner}/{repo}/actions/runs": {
/**
- * Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).
+ * List workflow runs for a repository
+ * @description Lists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).
*
* Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
*/
get: operations["actions/list-workflow-runs-for-repo"];
};
"/repos/{owner}/{repo}/actions/runs/{run_id}": {
- /** Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */
+ /**
+ * Get a workflow run
+ * @description Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
+ */
get: operations["actions/get-workflow-run"];
/**
- * Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is
+ * Delete a workflow run
+ * @description Delete a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is
* private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:write` permission to use
* this endpoint.
*/
delete: operations["actions/delete-workflow-run"];
};
"/repos/{owner}/{repo}/actions/runs/{run_id}/approvals": {
- /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */
+ /**
+ * Get the review history for a workflow run
+ * @description Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
+ */
get: operations["actions/get-reviews-for-run"];
};
"/repos/{owner}/{repo}/actions/runs/{run_id}/approve": {
/**
- * Approves a workflow run for a pull request from a public fork of a first time contributor. For more information, see ["Approving workflow runs from public forks](https://docs.github.com/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks)."
+ * 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)."
*
* You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.
*/
post: operations["actions/approve-workflow-run"];
};
"/repos/{owner}/{repo}/actions/runs/{run_id}/artifacts": {
- /** Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */
+ /**
+ * List workflow run artifacts
+ * @description Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
+ */
get: operations["actions/list-workflow-run-artifacts"];
};
"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}": {
/**
- * Gets a specific workflow run attempt. Anyone with read access to the repository
+ * Get a workflow run attempt
+ * @description Gets a specific workflow run attempt. Anyone with read access to the repository
* can use this endpoint. If the repository is private you must use an access token
* with the `repo` scope. GitHub Apps must have the `actions:read` permission to
* use this endpoint.
@@ -2488,12 +3147,16 @@ export interface paths {
get: operations["actions/get-workflow-run-attempt"];
};
"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs": {
- /** Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */
+ /**
+ * List jobs for a workflow run attempt
+ * @description Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).
+ */
get: operations["actions/list-jobs-for-workflow-run-attempt"];
};
"/repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs": {
/**
- * Gets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after
+ * 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 you must use an access token with the `repo` scope.
* GitHub Apps must have the `actions:read` permission to use this endpoint.
@@ -2501,157 +3164,221 @@ export interface paths {
get: operations["actions/download-workflow-run-attempt-logs"];
};
"/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": {
- /** Cancels a workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */
+ /**
+ * Cancel a workflow run
+ * @description Cancels a workflow run using its `id`.
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `actions:write` permission to use this endpoint.
+ */
post: operations["actions/cancel-workflow-run"];
};
+ "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": {
+ /**
+ * 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).
+ *
+ * If the repository is private, you must use an access token with the `repo` scope.
+ * GitHub Apps must have read and write permission for **Deployments** to use this endpoint.
+ */
+ post: operations["actions/review-custom-gates-for-run"];
+ };
+ "/repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel": {
+ /**
+ * 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).
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `actions:write` permission to use this endpoint.
+ */
+ post: operations["actions/force-cancel-workflow-run"];
+ };
"/repos/{owner}/{repo}/actions/runs/{run_id}/jobs": {
- /** Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters). */
+ /**
+ * List jobs for a workflow run
+ * @description Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).
+ */
get: operations["actions/list-jobs-for-workflow-run"];
};
"/repos/{owner}/{repo}/actions/runs/{run_id}/logs": {
/**
- * Gets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for
+ * 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 you must use an access token with the `repo` scope. GitHub Apps must have
* the `actions:read` permission to use this endpoint.
*/
get: operations["actions/download-workflow-run-logs"];
- /** Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */
+ /**
+ * Delete workflow run logs
+ * @description Deletes all logs for a workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.
+ */
delete: operations["actions/delete-workflow-run-logs"];
};
"/repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments": {
/**
- * Get all deployment environments for a workflow run that are waiting for protection rules to pass.
+ * 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, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
*/
get: operations["actions/get-pending-deployments-for-run"];
/**
- * Approve or reject pending deployments that are waiting on approval by a required reviewer.
+ * 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. Required reviewers must authenticate using an access token with the `repo` scope to use this endpoint.
*/
post: operations["actions/review-pending-deployments-for-run"];
};
"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun": {
- /** Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint. */
+ /**
+ * Re-run a workflow
+ * @description Re-runs your workflow run using its `id`. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.
+ */
post: operations["actions/re-run-workflow"];
};
"/repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs": {
- /** Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. You must authenticate using an access token with the `repo` scope to use this endpoint. */
+ /**
+ * 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. You must authenticate using an access token with the `repo` scope to use this endpoint.
+ */
post: operations["actions/re-run-workflow-failed-jobs"];
};
"/repos/{owner}/{repo}/actions/runs/{run_id}/timing": {
/**
- * Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)".
+ * Get workflow run usage
+ * @description Gets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)".
*
* Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
*/
get: operations["actions/get-workflow-run-usage"];
};
"/repos/{owner}/{repo}/actions/secrets": {
- /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */
+ /**
+ * List repository secrets
+ * @description Lists all secrets available in a repository without revealing their encrypted
+ * values.
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `secrets` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
+ */
get: operations["actions/list-repo-secrets"];
};
"/repos/{owner}/{repo}/actions/secrets/public-key": {
- /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */
+ /**
+ * Get a repository public key
+ * @description Gets your public key, which you need to encrypt secrets. You need to
+ * encrypt a secret before you can create or update secrets.
+ *
+ * Anyone with read access to the repository can use this endpoint.
+ * If the repository is private you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `secrets` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
+ */
get: operations["actions/get-repo-public-key"];
};
"/repos/{owner}/{repo}/actions/secrets/{secret_name}": {
- /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */
- get: operations["actions/get-repo-secret"];
/**
- * Creates or updates a repository secret with an encrypted value. Encrypt your secret using
- * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access
- * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use
- * this endpoint.
- *
- * #### Example encrypting a secret using Node.js
- *
- * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.
- *
- * ```
- * const sodium = require('tweetsodium');
- *
- * const key = "base64-encoded-public-key";
- * const value = "plain-text-secret";
+ * Get a repository secret
+ * @description Gets a single repository secret without revealing its encrypted value.
*
- * // Convert the message and key to Uint8Array's (Buffer implements that interface)
- * const messageBytes = Buffer.from(value);
- * const keyBytes = Buffer.from(key, 'base64');
- *
- * // Encrypt using LibSodium.
- * const encryptedBytes = sodium.seal(messageBytes, keyBytes);
- *
- * // Base64 the encrypted secret
- * const encrypted = Buffer.from(encryptedBytes).toString('base64');
- *
- * console.log(encrypted);
- * ```
- *
- *
- * #### Example encrypting a secret using Python
- *
- * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3.
- *
- * ```
- * from base64 import b64encode
- * from nacl import encoding, public
- *
- * def encrypt(public_key: str, secret_value: str) -> str:
- * """Encrypt a Unicode string using the public key."""
- * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder())
- * sealed_box = public.SealedBox(public_key)
- * encrypted = sealed_box.encrypt(secret_value.encode("utf-8"))
- * return b64encode(encrypted).decode("utf-8")
- * ```
- *
- * #### Example encrypting a secret using C#
- *
- * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.
- *
- * ```
- * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret");
- * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=");
- *
- * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);
- *
- * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));
- * ```
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `secrets` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
+ */
+ 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)."
*
- * #### Example encrypting a secret using Ruby
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `secrets` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
+ */
+ put: operations["actions/create-or-update-repo-secret"];
+ /**
+ * Delete a repository secret
+ * @description Deletes a secret in a repository using the secret name.
*
- * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `secrets` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
+ */
+ delete: operations["actions/delete-repo-secret"];
+ };
+ "/repos/{owner}/{repo}/actions/variables": {
+ /**
+ * List repository variables
+ * @description Lists all repository variables.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
+ */
+ get: operations["actions/list-repo-variables"];
+ /**
+ * Create a repository variable
+ * @description Creates a repository variable that you can reference in a GitHub Actions workflow.
*
- * ```ruby
- * require "rbnacl"
- * require "base64"
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
+ */
+ post: operations["actions/create-repo-variable"];
+ };
+ "/repos/{owner}/{repo}/actions/variables/{name}": {
+ /**
+ * Get a repository variable
+ * @description Gets a specific variable in a repository.
*
- * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=")
- * public_key = RbNaCl::PublicKey.new(key)
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `actions_variables:read` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
+ */
+ get: operations["actions/get-repo-variable"];
+ /**
+ * Delete a repository variable
+ * @description Deletes a repository variable using the variable name.
*
- * box = RbNaCl::Boxes::Sealed.from_public_key(public_key)
- * encrypted_secret = box.encrypt("my_secret")
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
+ */
+ delete: operations["actions/delete-repo-variable"];
+ /**
+ * Update a repository variable
+ * @description Updates a repository variable that you can reference in a GitHub Actions workflow.
*
- * # Print the base64 encoded secret
- * puts Base64.strict_encode64(encrypted_secret)
- * ```
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `actions_variables:write` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
*/
- put: operations["actions/create-or-update-repo-secret"];
- /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */
- delete: operations["actions/delete-repo-secret"];
+ patch: operations["actions/update-repo-variable"];
};
"/repos/{owner}/{repo}/actions/workflows": {
- /** Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */
+ /**
+ * List repository workflows
+ * @description Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
+ */
get: operations["actions/list-repo-workflows"];
};
"/repos/{owner}/{repo}/actions/workflows/{workflow_id}": {
- /** Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */
+ /**
+ * Get a workflow
+ * @description Gets a specific workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
+ */
get: operations["actions/get-workflow"];
};
"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable": {
/**
- * 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`.
+ * 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`.
*
* You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.
*/
@@ -2659,7 +3386,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches": {
/**
- * 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`.
+ * 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)."
*
@@ -2669,7 +3397,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable": {
/**
- * 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`.
+ * 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`.
*
* You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.
*/
@@ -2677,7 +3406,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs": {
/**
- * List all workflow runs for a workflow. You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. You can use parameters to narrow the list of results. For more information about using parameters, see [Parameters](https://docs.github.com/rest/overview/resources-in-the-rest-api#parameters).
+ * 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/overview/resources-in-the-rest-api#parameters).
*
* Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope.
*/
@@ -2685,19 +3415,34 @@ export interface paths {
};
"/repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing": {
/**
- * Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)".
+ * Get workflow usage
+ * @description Gets the number of billable minutes used by a specific workflow during the current billing cycle. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see "[Managing billing for GitHub Actions](https://docs.github.com/github/setting-up-and-managing-billing-and-payments-on-github/managing-billing-for-github-actions)".
*
* You can replace `workflow_id` with the workflow file name. For example, you could use `main.yaml`. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
*/
get: operations["actions/get-workflow-usage"];
};
+ "/repos/{owner}/{repo}/activity": {
+ /**
+ * 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"];
+ };
"/repos/{owner}/{repo}/assignees": {
- /** Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/assignees/{assignee}": {
/**
- * Checks if a user has permission to be assigned to an issue in this repository.
+ * 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.
*
@@ -2707,45 +3452,68 @@ export interface paths {
};
"/repos/{owner}/{repo}/autolinks": {
/**
- * This returns a list of autolinks configured for the given repository.
+ * List all autolinks of a repository
+ * @description This returns a list of autolinks configured for the given repository.
*
* Information about autolinks are only available to repository administrators.
*/
get: operations["repos/list-autolinks"];
- /** Users with admin access to the repository can create an autolink. */
+ /**
+ * Create an autolink reference for a repository
+ * @description Users with admin access to the repository can create an autolink.
+ */
post: operations["repos/create-autolink"];
};
"/repos/{owner}/{repo}/autolinks/{autolink_id}": {
/**
- * This returns a single autolink reference by ID that was configured for the given repository.
+ * 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"];
/**
- * This deletes a single autolink reference by ID that was configured for the given repository.
+ * 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"];
};
"/repos/{owner}/{repo}/automated-security-fixes": {
- /** Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/en/articles/configuring-automated-security-fixes)". */
+ /**
+ * Check if automated security fixes are enabled for a repository
+ * @description Shows whether automated security fixes are enabled, disabled or paused for a repository. The authenticated user must have admin read access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)".
+ */
+ get: operations["repos/check-automated-security-fixes"];
+ /**
+ * Enable automated security fixes
+ * @description Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)".
+ */
put: operations["repos/enable-automated-security-fixes"];
- /** Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/en/articles/configuring-automated-security-fixes)". */
+ /**
+ * Disable automated security fixes
+ * @description Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://docs.github.com/articles/configuring-automated-security-fixes)".
+ */
delete: operations["repos/disable-automated-security-fixes"];
};
"/repos/{owner}/{repo}/branches": {
+ /** List branches */
get: operations["repos/list-branches"];
};
"/repos/{owner}/{repo}/branches/{branch}": {
+ /** Get a branch */
get: operations["repos/get-branch"];
};
"/repos/{owner}/{repo}/branches/{branch}/protection": {
- /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */
+ /**
+ * 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"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in 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.
+ * 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.
*
@@ -2754,32 +3522,47 @@ export interface paths {
* **Note**: The list of users, apps, and teams in total is limited to 100 items.
*/
put: operations["repos/update-branch-protection"];
- /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins": {
- /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */
+ /**
+ * 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"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in 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.
+ * 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"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in 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 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"];
};
"/repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews": {
- /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */
+ /**
+ * 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"];
- /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in 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 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"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in 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.
+ * 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.
*
@@ -2789,7 +3572,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/branches/{branch}/protection/required_signatures": {
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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.
*
@@ -2797,43 +3581,65 @@ export interface paths {
*/
get: operations["repos/get-commit-signature-protection"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in 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 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"];
};
"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks": {
- /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */
+ /**
+ * 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"];
- /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in 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. */
+ /**
+ * 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"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in 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.
+ * 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"];
};
"/repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts": {
- /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */
+ /**
+ * 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"];
- /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in 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. */
+ /**
+ * 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"];
- /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in 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. */
+ /**
+ * 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"];
- /** Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in 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. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions": {
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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.
*
@@ -2841,7 +3647,8 @@ export interface paths {
*/
get: operations["repos/get-access-restrictions"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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.
*/
@@ -2849,89 +3656,75 @@ export interface paths {
};
"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps": {
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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 installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.
*/
get: operations["repos/get-apps-with-access-to-protected-branch"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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 installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.
- *
- * | Type | Description |
- * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
- * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |
*/
put: operations["repos/set-app-access-restrictions"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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 installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.
- *
- * | Type | Description |
- * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
- * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |
*/
post: operations["repos/add-app-access-restrictions"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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 installed GitHub Apps with `write` access to the `contents` permission can be added as authorized actors on a protected branch.
- *
- * | Type | Description |
- * | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
- * | `array` | The GitHub Apps that have push access to this branch. Use the app's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |
*/
delete: operations["repos/remove-app-access-restrictions"];
};
"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams": {
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in 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.
+ * 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.
- *
- * | Type | Description |
- * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
- * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |
*/
put: operations["repos/set-team-access-restrictions"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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.
- *
- * | Type | Description |
- * | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
- * | `array` | The teams that can have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |
*/
post: operations["repos/add-team-access-restrictions"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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.
- *
- * | Type | Description |
- * | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
- * | `array` | Teams that should no longer have push access. Use the team's `slug`. **Note**: The list of users, apps, and teams in total is limited to 100 items. |
*/
delete: operations["repos/remove-team-access-restrictions"];
};
"/repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users": {
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in 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.
+ * 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.
*
@@ -2941,7 +3734,8 @@ export interface paths {
*/
put: operations["repos/set-user-access-restrictions"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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.
*
@@ -2951,7 +3745,8 @@ export interface paths {
*/
post: operations["repos/add-user-access-restrictions"];
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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.
*
@@ -2963,7 +3758,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/branches/{branch}/rename": {
/**
- * Renames a branch in a repository.
+ * 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)".
*
@@ -2983,7 +3779,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/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.
+ * Create a check run
+ * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.
*
* Creates a new check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to create check runs.
*
@@ -2993,69 +3790,85 @@ export interface paths {
};
"/repos/{owner}/{repo}/check-runs/{check_run_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.
+ * Get a check run
+ * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array.
*
- * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.
+ * Gets a single check run using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository.
*/
get: operations["checks/get"];
/**
- * **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.
+ * Update a check run
+ * @description Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs.
*
- * Updates a check run for a specific commit in a repository. Your GitHub App must have the `checks:write` permission to edit check runs.
+ * **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.
*/
patch: operations["checks/update"];
};
"/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations": {
- /** Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository. */
+ /**
+ * List check run annotations
+ * @description Lists annotations for a check run using the annotation `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth apps and authenticated users must have the `repo` scope to get annotations for a check run in a private repository.
+ */
get: operations["checks/list-annotations"];
};
"/repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest": {
/**
- * Triggers GitHub to rerequest an existing check run, without pushing new code to a repository. This endpoint will trigger the [`check_run` webhook](https://docs.github.com/webhooks/event-payloads/#check_run) event with the action `rerequested`. When a check run is `rerequested`, its `status` is reset to `queued` and the `conclusion` is cleared.
+ * 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`, its `status` is reset to `queued` and the `conclusion` is cleared.
*
* To rerequest a check run, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository.
+ *
+ * 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"];
};
"/repos/{owner}/{repo}/check-suites": {
/**
- * **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.
+ * Create a check suite
+ * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.
*
- * By default, check suites are automatically created when you create a [check run](https://docs.github.com/rest/reference/checks#check-runs). You only need to use this endpoint for manually creating check suites when you've disabled automatic creation using "[Update repository preferences for check suites](https://docs.github.com/rest/reference/checks#update-repository-preferences-for-check-suites)". Your GitHub App must have the `checks:write` permission to create check suites.
+ * 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)". Your GitHub App must have the `checks:write` permission to create check suites.
*/
post: operations["checks/create-suite"];
};
"/repos/{owner}/{repo}/check-suites/preferences": {
- /** Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually [Create a check suite](https://docs.github.com/rest/reference/checks#create-a-check-suite). You must have admin permissions in the repository to set preferences for check suites. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/check-suites/{check_suite_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`.
+ * Get a check suite
+ * @description **Note:** The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.
*
- * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository.
+ * Gets a single check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository.
*/
get: operations["checks/get-suite"];
};
"/repos/{owner}/{repo}/check-suites/{check_suite_id}/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.
+ * List check runs in a check suite
+ * @description Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository.
*
- * Lists check runs for a check suite using its `id`. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.
+ * **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.
*/
get: operations["checks/list-for-suite"];
};
"/repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest": {
/**
- * 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.
+ * 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.
*
- * To rerequest a check suite, your GitHub App must have the `checks:read` permission on a private repository or pull access to a public repository.
+ * To rerequest a check suite, your GitHub App must have the `checks:write` permission on a private repository or pull access to a public repository.
*/
post: operations["checks/rerequest-suite"];
};
"/repos/{owner}/{repo}/code-scanning/alerts": {
/**
- * Lists all open code scanning alerts for the default branch (usually `main`
+ * List code scanning alerts for a repository
+ * @description Lists all open code scanning alerts for the default branch (usually `main`
* or `master`). You must use an access token with the `security_events` scope to use
* this endpoint with private repos, the `public_repo` scope also grants permission to read
* security events on public repos only. GitHub Apps must have the `security_events` read
@@ -3070,18 +3883,20 @@ export interface paths {
};
"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}": {
/**
- * Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint.
- *
- * **Deprecation notice**:
- * The instances field is deprecated and will, in future, not be included in the response for this endpoint. The example response reflects this change. The same information can now be retrieved via a GET request to the URL specified by `instances_url`.
+ * Get a code scanning alert
+ * @description Gets a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint.
*/
get: operations["code-scanning/get-alert"];
- /** Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. */
+ /**
+ * Update a code scanning alert
+ * @description Updates the status of a single code scanning alert. You must use an access token with the `security_events` scope to use this endpoint with private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint.
+ */
patch: operations["code-scanning/update-alert"];
};
"/repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances": {
/**
- * Lists all instances of the specified code scanning alert.
+ * List instances of a code scanning alert
+ * @description Lists all instances of the specified code scanning alert.
* You must use an access token with the `security_events` scope to use this endpoint with private repos,
* the `public_repo` scope also grants permission to read security events on public repos only.
* GitHub Apps must have the `security_events` read permission to use this endpoint.
@@ -3090,7 +3905,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/code-scanning/analyses": {
/**
- * Lists the details of all code scanning analyses for a repository,
+ * 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.
@@ -3112,7 +3928,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}": {
/**
- * Gets a specified code scanning analysis for a repository.
+ * Get a code scanning analysis for a repository
+ * @description Gets a specified code scanning analysis for a repository.
* You must use an access token with the `security_events` scope to use this endpoint with private repos,
* the `public_repo` scope also grants permission to read security events on public repos only.
* GitHub Apps must have the `security_events` read permission to use this endpoint.
@@ -3134,7 +3951,8 @@ export interface paths {
*/
get: operations["code-scanning/get-analysis"];
/**
- * Deletes a specified code scanning analysis from a repository. For
+ * Delete a code scanning analysis from a repository
+ * @description Deletes a specified code scanning analysis from a repository. For
* private repositories, you must use an access token with the `repo` scope. For public repositories,
* you must use an access token with `public_repo` scope.
* GitHub Apps must have the `security_events` write permission to use this endpoint.
@@ -3157,8 +3975,7 @@ export interface paths {
*
* * `ref`
* * `tool`
- * * `analysis_key`
- * * `environment`
+ * * `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:
@@ -3203,9 +4020,54 @@ export interface paths {
*/
delete: operations["code-scanning/delete-analysis"];
};
+ "/repos/{owner}/{repo}/code-scanning/codeql/databases": {
+ /**
+ * List CodeQL databases for a repository
+ * @description Lists the CodeQL databases that are available in a repository.
+ *
+ * For private repositories, you must use an access token with the `security_events` scope.
+ * For public repositories, you can use tokens with the `security_events` or `public_repo` scope.
+ * GitHub Apps must have the `contents` read permission to use this endpoint.
+ */
+ get: operations["code-scanning/list-codeql-databases"];
+ };
+ "/repos/{owner}/{repo}/code-scanning/codeql/databases/{language}": {
+ /**
+ * 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/overview/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.
+ *
+ * For private repositories, you must use an access token with the `security_events` scope.
+ * For public repositories, you can use tokens with the `security_events` or `public_repo` scope.
+ * GitHub Apps must have the `contents` read permission to use this endpoint.
+ */
+ get: operations["code-scanning/get-codeql-database"];
+ };
+ "/repos/{owner}/{repo}/code-scanning/default-setup": {
+ /**
+ * Get a code scanning default setup configuration
+ * @description Gets a code scanning default setup configuration.
+ * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo`
+ * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint.
+ */
+ get: operations["code-scanning/get-default-setup"];
+ /**
+ * Update a code scanning default setup configuration
+ * @description Updates a code scanning default setup configuration.
+ * You must use an access token with the `repo` scope to use this endpoint with private repos or the `public_repo`
+ * scope for public repos. GitHub Apps must have the `repo` write permission to use this endpoint.
+ */
+ patch: operations["code-scanning/update-default-setup"];
+ };
"/repos/{owner}/{repo}/code-scanning/sarifs": {
/**
- * Uploads SARIF data containing the results of a code scanning analysis to make the results available in a repository. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint.
+ * 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. You must use an access token with the `security_events` scope to use this endpoint for private repositories. You can also use tokens with the `public_repo` scope for public repositories only. GitHub Apps must have the `security_events` write permission to use this endpoint. 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)."
@@ -3216,22 +4078,39 @@ export interface paths {
* ```
* 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 upload supports a maximum of 5000 results per analysis run. Any results over this limit are ignored and any SARIF uploads with more than 25,000 results are rejected. Typically, but not necessarily, a SARIF file contains a single run of a single tool. If a code scanning tool generates too many results, you should update the analysis configuration to run only the most important rules or queries.
*
- * The `202 Accepted`, response includes an `id` value.
- * You can use this ID to check the status of the upload by using this for the `/sarifs/{sarif_id}` endpoint.
- * For more information, see "[Get information about a SARIF upload](/rest/reference/code-scanning#get-information-about-a-sarif-upload)."
+ * | **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)."
*/
post: operations["code-scanning/upload-sarif"];
};
"/repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}": {
- /** Gets information about a SARIF upload, including the status and the URL of the analysis that was uploaded so that you can retrieve details of the analysis. For more information, see "[Get a code scanning analysis for a repository](/rest/reference/code-scanning#get-a-code-scanning-analysis-for-a-repository)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint. */
+ /**
+ * Get 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)." You must use an access token with the `security_events` scope to use this endpoint with private repos, the `public_repo` scope also grants permission to read security events on public repos only. GitHub Apps must have the `security_events` read permission to use this endpoint.
+ */
get: operations["code-scanning/get-sarif"];
};
"/repos/{owner}/{repo}/codeowners/errors": {
/**
- * List any syntax errors that are detected in the CODEOWNERS
+ * List CODEOWNERS errors
+ * @description List any syntax errors that are detected in the CODEOWNERS
* file.
*
* For more information about the correct CODEOWNERS syntax,
@@ -3241,7 +4120,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/codespaces": {
/**
- * Lists the codespaces associated to a specified repository and the authenticated user.
+ * List codespaces in a repository for the authenticated user
+ * @description Lists the codespaces associated to a specified repository and the authenticated user.
*
* You must authenticate using an access token with the `codespace` scope to use this endpoint.
*
@@ -3249,7 +4129,8 @@ export interface paths {
*/
get: operations["codespaces/list-in-repository-for-authenticated-user"];
/**
- * Creates a codespace owned by the authenticated user in the specified repository.
+ * Create a codespace in a repository
+ * @description Creates a codespace owned by the authenticated user in the specified repository.
*
* You must authenticate using an access token with the `codespace` scope to use this endpoint.
*
@@ -3259,7 +4140,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/codespaces/devcontainers": {
/**
- * Lists the devcontainer.json files associated with a specified repository and the authenticated user. These files
+ * 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.
*
* You must authenticate using an access token with the `codespace` scope to use this endpoint.
@@ -3270,7 +4152,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/codespaces/machines": {
/**
- * List the machine types available for a given repository based on its configuration.
+ * List available machine types for a repository
+ * @description List the machine types available for a given repository based on its configuration.
*
* You must authenticate using an access token with the `codespace` scope to use this endpoint.
*
@@ -3280,7 +4163,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/codespaces/new": {
/**
- * Gets the default attributes for codespaces created by the user with the repository.
+ * Get default attributes for a codespace
+ * @description Gets the default attributes for codespaces created by the user with the repository.
*
* You must authenticate using an access token with the `codespace` scope to use this endpoint.
*
@@ -3288,101 +4172,57 @@ export interface paths {
*/
get: operations["codespaces/pre-flight-with-repo-for-authenticated-user"];
};
+ "/repos/{owner}/{repo}/codespaces/permissions_check": {
+ /**
+ * 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.
+ *
+ * You must authenticate using an access token with the `codespace` scope to use this endpoint.
+ *
+ * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint.
+ */
+ get: operations["codespaces/check-permissions-for-devcontainer"];
+ };
"/repos/{owner}/{repo}/codespaces/secrets": {
- /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */
+ /**
+ * List repository secrets
+ * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint.
+ */
get: operations["codespaces/list-repo-secrets"];
};
"/repos/{owner}/{repo}/codespaces/secrets/public-key": {
- /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */
+ /**
+ * Get a repository public key
+ * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint.
+ */
get: operations["codespaces/get-repo-public-key"];
};
"/repos/{owner}/{repo}/codespaces/secrets/{secret_name}": {
- /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */
+ /**
+ * Get a repository secret
+ * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint.
+ */
get: operations["codespaces/get-repo-secret"];
/**
- * Creates or updates a repository secret with an encrypted value. Encrypt your secret using
- * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access
- * token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository
- * permission to use this endpoint.
- *
- * #### Example of encrypting a secret using Node.js
- *
- * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.
- *
- * ```
- * const sodium = require('tweetsodium');
- *
- * const key = "base64-encoded-public-key";
- * const value = "plain-text-secret";
- *
- * // Convert the message and key to Uint8Array's (Buffer implements that interface)
- * const messageBytes = Buffer.from(value);
- * const keyBytes = Buffer.from(key, 'base64');
- *
- * // Encrypt using LibSodium.
- * const encryptedBytes = sodium.seal(messageBytes, keyBytes);
- *
- * // Base64 the encrypted secret
- * const encrypted = Buffer.from(encryptedBytes).toString('base64');
- *
- * console.log(encrypted);
- * ```
- *
- *
- * #### Example of encrypting a secret using Python
- *
- * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3.
- *
- * ```
- * from base64 import b64encode
- * from nacl import encoding, public
- *
- * def encrypt(public_key: str, secret_value: str) -> str:
- * """Encrypt a Unicode string using the public key."""
- * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder())
- * sealed_box = public.SealedBox(public_key)
- * encrypted = sealed_box.encrypt(secret_value.encode("utf-8"))
- * return b64encode(encrypted).decode("utf-8")
- * ```
- *
- * #### Example of encrypting a secret using C#
- *
- * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.
- *
- * ```
- * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret");
- * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=");
- *
- * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);
- *
- * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));
- * ```
- *
- * #### Example of encrypting a secret using Ruby
- *
- * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.
- *
- * ```ruby
- * require "rbnacl"
- * require "base64"
- *
- * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=")
- * public_key = RbNaCl::PublicKey.new(key)
- *
- * box = RbNaCl::Boxes::Sealed.from_public_key(public_key)
- * encrypted_secret = box.encrypt("my_secret")
+ * 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)."
*
- * # Print the base64 encoded secret
- * puts Base64.strict_encode64(encrypted_secret)
- * ```
+ * You must authenticate using an access
+ * token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets`
+ * repository permission to use this endpoint.
*/
put: operations["codespaces/create-or-update-repo-secret"];
- /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `codespaces_secrets` repository permission to use this endpoint. */
+ /**
+ * Delete a repository secret
+ * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have write access to the `codespaces_secrets` repository permission to use this endpoint.
+ */
delete: operations["codespaces/delete-repo-secret"];
};
"/repos/{owner}/{repo}/collaborators": {
/**
- * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.
+ * 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.
* Organization members with write, maintain, or admin privileges on the organization-owned repository can use this endpoint.
*
* Team members will include the members of child teams.
@@ -3395,7 +4235,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/collaborators/{username}": {
/**
- * For organization-owned repositories, the list of collaborators includes outside collaborators, organization members that are direct collaborators, organization members with access through team memberships, organization members with access through default organization permissions, and organization owners.
+ * 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.
*
@@ -3405,9 +4246,10 @@ export interface paths {
*/
get: operations["repos/check-collaborator"];
/**
- * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * Add a repository collaborator
+ * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*
- * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)."
+ * Adding an outside collaborator may be restricted by enterprise administrators. For more information, see "[Enforcing repository management policies in your enterprise](https://docs.github.com/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-inviting-outside-collaborators-to-repositories)."
*
* For more information on permission levels, see "[Repository permission levels for an organization](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/repository-permission-levels-for-an-organization#permission-levels-for-repositories-owned-by-an-organization)". There are restrictions on which permissions can be granted to organization members when an organization base role is in place. In this case, the permission being given must be equal to or higher than the org base permission. Otherwise, the request will fail with:
*
@@ -3417,7 +4259,7 @@ export interface paths {
*
* Note that, if you choose not to pass any parameters, you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)."
*
- * The invitee will receive a notification that they have been invited to the repository, which they must accept or decline. They may do this via the notifications page, the email they receive, or by using the [repository invitations API endpoints](https://docs.github.com/rest/reference/repos#invitations).
+ * 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).
*
* **Updating an existing collaborator's permission level**
*
@@ -3428,42 +4270,87 @@ export interface paths {
* 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"];
+ /**
+ * 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
+ * - Unasigns 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"];
};
"/repos/{owner}/{repo}/collaborators/{username}/permission": {
- /** Checks the repository permission of a collaborator. The possible repository permissions are `admin`, `write`, `read`, and `none`. */
+ /**
+ * Get repository permissions for a user
+ * @description Checks the repository permission of a collaborator. The possible repository
+ * permissions are `admin`, `write`, `read`, and `none`.
+ *
+ * *Note*: 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`. To determine the role assigned to the
+ * collaborator, see the `role_name` attribute, which will provide the full role name, including custom roles. The
+ * `permissions` hash can also be used to determine which base level of access the collaborator has to the repository.
+ */
get: operations["repos/get-collaborator-permission-level"];
};
"/repos/{owner}/{repo}/comments": {
/**
- * Commit Comments use [these custom media types](https://docs.github.com/rest/reference/repos#custom-media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/).
+ * List commit comments for a repository
+ * @description Commit Comments use [these custom media types](https://docs.github.com/rest/overview/media-types). You can read more about the use of media types in the API [here](https://docs.github.com/rest/overview/media-types/).
*
* Comments are ordered by ascending ID.
*/
get: operations["repos/list-commit-comments-for-repo"];
};
"/repos/{owner}/{repo}/comments/{comment_id}": {
+ /** Get a commit comment */
get: operations["repos/get-commit-comment"];
+ /** Delete a commit comment */
delete: operations["repos/delete-commit-comment"];
+ /** Update a commit comment */
patch: operations["repos/update-commit-comment"];
};
"/repos/{owner}/{repo}/comments/{comment_id}/reactions": {
- /** List the reactions to a [commit comment](https://docs.github.com/rest/reference/repos#comments). */
+ /**
+ * 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"];
- /** Create a reaction to a [commit comment](https://docs.github.com/rest/reference/repos#comments). A response with an HTTP `200` status means that you already added the reaction type to this commit comment. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}": {
/**
- * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id`.
+ * Delete a 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/reference/repos#comments).
+ * 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"];
};
"/repos/{owner}/{repo}/commits": {
/**
- * **Signature verification object**
+ * 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:
*
@@ -3485,7 +4372,7 @@ export interface paths {
* | `unsigned` | The object does not include a signature. |
* | `unknown_signature_type` | A non-PGP signature was found in the commit. |
* | `no_user` | No user was associated with the `committer` email address in the commit. |
- * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |
+ * | `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. |
@@ -3496,29 +4383,40 @@ export interface paths {
};
"/repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head": {
/**
- * Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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"];
};
"/repos/{owner}/{repo}/commits/{commit_sha}/comments": {
- /** Use the `:commit_sha` to specify the commit that will have its comments listed. */
+ /**
+ * List commit comments
+ * @description Use the `:commit_sha` to specify the commit that will have its comments listed.
+ */
get: operations["repos/list-comments-for-commit"];
/**
- * Create a comment for a commit using its `:commit_sha`.
+ * Create a commit comment
+ * @description Create a comment for a commit using its `:commit_sha`.
*
- * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
post: operations["repos/create-commit-comment"];
};
"/repos/{owner}/{repo}/commits/{commit_sha}/pulls": {
- /** Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. */
+ /**
+ * 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, will only return 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"];
};
"/repos/{owner}/{repo}/commits/{ref}": {
/**
- * Returns the contents of a single commit reference. You must have `read` access for the repository to use this endpoint.
+ * 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, 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.
*
@@ -3548,7 +4446,7 @@ export interface paths {
* | `unsigned` | The object does not include a signature. |
* | `unknown_signature_type` | A non-PGP signature was found in the commit. |
* | `no_user` | No user was associated with the `committer` email address in the commit. |
- * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |
+ * | `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. |
@@ -3559,23 +4457,28 @@ export interface paths {
};
"/repos/{owner}/{repo}/commits/{ref}/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.
+ * 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. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth apps and authenticated users must have the `repo` scope to get check runs in a private repository.
+ *
+ * **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.
*
- * Lists check runs for a commit ref. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the `repo` scope to get check runs in a private repository.
+ * 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.
*/
get: operations["checks/list-for-ref"];
};
"/repos/{owner}/{repo}/commits/{ref}/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`.
+ * 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. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth apps and authenticated users must have the `repo` scope to get check suites in a private repository.
*
- * Lists check suites for a commit `ref`. The `ref` can be a SHA, branch name, or a tag name. GitHub Apps must have the `checks:read` permission on a private repository or pull access to a public repository to list check suites. OAuth Apps and authenticated users must have the `repo` scope to get check suites in a private repository.
+ * **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`.
*/
get: operations["checks/list-suites-for-ref"];
};
"/repos/{owner}/{repo}/commits/{ref}/status": {
/**
- * 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.
+ * 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:
@@ -3588,7 +4491,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/commits/{ref}/statuses": {
/**
- * 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.
+ * 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`.
*/
@@ -3596,16 +4500,16 @@ export interface paths {
};
"/repos/{owner}/{repo}/community/profile": {
/**
- * This endpoint will return all community profile metrics, including an
- * overall health score, repository description, the presence of documentation, detected
- * code of conduct, detected license, and the presence of ISSUE\_TEMPLATE, PULL\_REQUEST\_TEMPLATE,
+ * 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
- * these four documents are present: README, CONTRIBUTING, LICENSE, and
- * CODE_OF_CONDUCT. For example, if all four documents are present, then
- * the `health_percentage` is `100`. If only one is present, then the
- * `health_percentage` is `25`.
+ * 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.
*/
@@ -3613,21 +4517,27 @@ export interface paths {
};
"/repos/{owner}/{repo}/compare/{basehead}": {
/**
- * The `basehead` param is comprised of two parts: `base` and `head`. Both must be branch names in `repo`. To compare branches across other repositories in the same network as `repo`, use the format `:branch`.
+ * Compare two commits
+ * @description Compares two commits against one another. You can compare branches in the same repository, or you can compare branches 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)."
*
- * The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.
+ * 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. You can pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.
*
- * The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a `renamed` status have a `previous_filename` field showing the previous filename of the file, and files with a `modified` status have a `patch` field showing the changes made to the file.
+ * 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, you can use (`per_page` or `page`) to paginate the results. When using paging, the list of changed files is only returned with page 1, but includes all changed files for the entire comparison. For more information on working with pagination, see "[Traversing with pagination](/rest/guides/traversing-with-pagination)."
+ * 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:
*
- * When calling this API without any paging parameters (`per_page` or `page`), the returned list is limited to 250 commits and the last commit in the list is the most recent of the entire comparison. When a paging parameter is specified, the first commit in the returned list of each page is the earliest.
+ * - The list of changed files is only shown on the first page of results, but it includes all 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 following fields are included in the `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 |
* | ---- | ---- | ----------- |
@@ -3647,7 +4557,7 @@ export interface paths {
* | `unsigned` | The object does not include a signature. |
* | `unknown_signature_type` | A non-PGP signature was found in the commit. |
* | `no_user` | No user was associated with the `committer` email address in the commit. |
- * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |
+ * | `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. |
@@ -3658,37 +4568,38 @@ export interface paths {
};
"/repos/{owner}/{repo}/contents/{path}": {
/**
- * Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit
+ * Get repository content
+ * @description Gets the contents of a file or directory in a repository. Specify the file path or directory in `:path`. If you omit
* `:path`, you will receive the contents of the repository's root directory. See the description below regarding what the API response includes for directories.
*
- * Files and symlinks support [a custom media type](https://docs.github.com/rest/reference/repos#custom-media-types) for
+ * Files and symlinks support [a custom media type](https://docs.github.com/rest/overview/media-types) for
* retrieving the raw content or rendered HTML (when supported). All content types support [a custom media
- * type](https://docs.github.com/rest/reference/repos#custom-media-types) to ensure the content is returned in a consistent
+ * type](https://docs.github.com/rest/overview/media-types) to ensure the content is returned in a consistent
* object format.
*
- * **Note**:
- * * To get a repository's contents recursively, you can [recursively get the tree](https://docs.github.com/rest/reference/git#trees).
+ * **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/reference/git#get-a-tree).
- *
- * #### Size limits
+ * 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.
+ * Size limits:
* If the requested file's size is:
* * 1 MB or smaller: All features of this endpoint are supported.
* * Between 1-100 MB: Only the `raw` or `object` [custom media types](https://docs.github.com/rest/repos/contents#custom-media-types-for-repository-contents) are supported. Both will work as normal, except that when using the `object` media type, the `content` field will be an empty string and the `encoding` field will be `"none"`. To get the contents of these larger files, use the `raw` media type.
* * Greater than 100 MB: This endpoint is not supported.
*
- * #### If the content is a directory
+ * If the content is a directory:
* The response will be an array of objects, one object for each item in the directory.
* When listing the contents of a directory, submodules have their "type" specified as "file". Logically, the value
* _should_ be "submodule". This behavior exists in API v3 [for backwards compatibility purposes](https://git.io/v1YCW).
* In the next major version of the API, the type will be returned as "submodule".
*
- * #### If the content is a symlink
+ * If the content is a symlink:
* If the requested `:path` points to a symlink, and the symlink's target is a normal file in the repository, then the
* API responds with the content of the file (in the format shown in the example. Otherwise, the API responds with an object
* describing the symlink itself.
*
- * #### If the content is a submodule
+ * If the content is a submodule:
* The `submodule_git_url` identifies the location of the submodule repository, and the `sha` identifies a specific
* commit within the submodule repository. Git uses the given URL when cloning the submodule repository, and checks out
* the submodule at that specific commit.
@@ -3697,132 +4608,129 @@ export interface paths {
* github.com URLs (`html_url` and `_links["html"]`) will have null values.
*/
get: operations["repos/get-content"];
- /** Creates a new file or replaces an existing file in a repository. */
+ /**
+ * Create or update file contents
+ * @description Creates a new file or replaces an existing file in a repository. You must authenticate using an access token with the `repo` scope to use this endpoint. If you want to modify files in the `.github/workflows` directory, you must authenticate using an access token with the `workflow` scope.
+ *
+ * **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.
+ */
put: operations["repos/create-or-update-file-contents"];
/**
- * Deletes a file in a repository.
+ * 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"];
};
"/repos/{owner}/{repo}/contributors": {
/**
- * Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. This endpoint may return information that is a few hours old because the GitHub REST API v3 caches contributor data to improve performance.
+ * 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"];
};
+ "/repos/{owner}/{repo}/dependabot/alerts": {
+ /**
+ * List Dependabot alerts for a repository
+ * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories.
+ * You can also use tokens with the `public_repo` scope for public repositories only.
+ * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint.
+ */
+ get: operations["dependabot/list-alerts-for-repo"];
+ };
+ "/repos/{owner}/{repo}/dependabot/alerts/{alert_number}": {
+ /**
+ * Get a Dependabot alert
+ * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories.
+ * You can also use tokens with the `public_repo` scope for public repositories only.
+ * GitHub Apps must have **Dependabot alerts** read permission to use this endpoint.
+ */
+ get: operations["dependabot/get-alert"];
+ /**
+ * Update a Dependabot alert
+ * @description You must use an access token with the `security_events` scope to use this endpoint with private repositories.
+ * You can also use tokens with the `public_repo` scope for public repositories only.
+ * GitHub Apps must have **Dependabot alerts** write permission to use this endpoint.
+ *
+ * To use this endpoint, you must have access to security alerts for the repository. 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)."
+ */
+ patch: operations["dependabot/update-alert"];
+ };
"/repos/{owner}/{repo}/dependabot/secrets": {
- /** Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */
+ /**
+ * List repository secrets
+ * @description Lists all secrets available in a repository without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint.
+ */
get: operations["dependabot/list-repo-secrets"];
};
"/repos/{owner}/{repo}/dependabot/secrets/public-key": {
- /** Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */
+ /**
+ * Get a repository public key
+ * @description Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint.
+ */
get: operations["dependabot/get-repo-public-key"];
};
"/repos/{owner}/{repo}/dependabot/secrets/{secret_name}": {
- /** Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */
+ /**
+ * Get a repository secret
+ * @description Gets a single repository secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint.
+ */
get: operations["dependabot/get-repo-secret"];
/**
- * Creates or updates a repository secret with an encrypted value. Encrypt your secret using
- * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access
+ * 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)."
+ *
+ * You must authenticate using an access
* token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository
* permission to use this endpoint.
- *
- * #### Example encrypting a secret using Node.js
- *
- * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.
- *
- * ```
- * const sodium = require('tweetsodium');
- *
- * const key = "base64-encoded-public-key";
- * const value = "plain-text-secret";
- *
- * // Convert the message and key to Uint8Array's (Buffer implements that interface)
- * const messageBytes = Buffer.from(value);
- * const keyBytes = Buffer.from(key, 'base64');
- *
- * // Encrypt using LibSodium.
- * const encryptedBytes = sodium.seal(messageBytes, keyBytes);
- *
- * // Base64 the encrypted secret
- * const encrypted = Buffer.from(encryptedBytes).toString('base64');
- *
- * console.log(encrypted);
- * ```
- *
- *
- * #### Example encrypting a secret using Python
- *
- * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3.
- *
- * ```
- * from base64 import b64encode
- * from nacl import encoding, public
- *
- * def encrypt(public_key: str, secret_value: str) -> str:
- * """Encrypt a Unicode string using the public key."""
- * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder())
- * sealed_box = public.SealedBox(public_key)
- * encrypted = sealed_box.encrypt(secret_value.encode("utf-8"))
- * return b64encode(encrypted).decode("utf-8")
- * ```
- *
- * #### Example encrypting a secret using C#
- *
- * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.
- *
- * ```
- * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret");
- * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=");
- *
- * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);
- *
- * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));
- * ```
- *
- * #### Example encrypting a secret using Ruby
- *
- * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.
- *
- * ```ruby
- * require "rbnacl"
- * require "base64"
- *
- * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=")
- * public_key = RbNaCl::PublicKey.new(key)
- *
- * box = RbNaCl::Boxes::Sealed.from_public_key(public_key)
- * encrypted_secret = box.encrypt("my_secret")
- *
- * # Print the base64 encoded secret
- * puts Base64.strict_encode64(encrypted_secret)
- * ```
*/
put: operations["dependabot/create-or-update-repo-secret"];
- /** Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint. */
+ /**
+ * Delete a repository secret
+ * @description Deletes a secret in a repository using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `dependabot_secrets` repository permission to use this endpoint.
+ */
delete: operations["dependabot/delete-repo-secret"];
};
"/repos/{owner}/{repo}/dependency-graph/compare/{basehead}": {
- /** Gets the diff of the dependency changes between two commits of a repository, based on the changes to the dependency manifests made in those commits. */
+ /**
+ * Get 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"];
};
+ "/repos/{owner}/{repo}/dependency-graph/sbom": {
+ /**
+ * 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"];
+ };
"/repos/{owner}/{repo}/dependency-graph/snapshots": {
- /** Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to. */
+ /**
+ * Create a snapshot of dependencies for a repository
+ * @description Create a new snapshot of a repository's dependencies. You must authenticate using an access token with the `repo` scope to use this endpoint for a repository that the requesting user has access to.
+ */
post: operations["dependency-graph/create-repository-snapshot"];
};
"/repos/{owner}/{repo}/deployments": {
- /** Simple filtering of deployments is available via query parameters: */
+ /**
+ * List deployments
+ * @description Simple filtering of deployments is available via query parameters:
+ */
get: operations["repos/list-deployments"];
/**
- * Deployments offer a few configurable parameters with certain defaults.
+ * 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.
@@ -3850,7 +4758,8 @@ export interface paths {
*
* Users with `repo` or `repo_deployment` scopes can create a deployment for a given ref.
*
- * #### Merged branch response
+ * 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
@@ -3860,47 +4769,59 @@ export interface paths {
* 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
+ * 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
+ * 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`.
*/
post: operations["repos/create-deployment"];
};
"/repos/{owner}/{repo}/deployments/{deployment_id}": {
+ /** Get a deployment */
get: operations["repos/get-deployment"];
/**
- * If the repository only has one deployment, you can delete the deployment regardless of its status. If the repository has more than one deployment, you can only delete inactive deployments. This ensures that repositories with multiple deployments will always have an active deployment. Anyone with `repo` or `repo_deployment` scopes can delete a deployment.
+ * 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. Anyone with `repo` or `repo_deployment` scopes can delete a deployment.
*
* To set a deployment as inactive, you must:
*
* * Create a new deployment that is active so that the system has a record of the current state, then delete the previously active deployment.
* * Mark the active deployment as inactive by adding any non-successful deployment status.
*
- * For more information, see "[Create a deployment](https://docs.github.com/rest/reference/repos/#create-a-deployment)" and "[Create a deployment status](https://docs.github.com/rest/reference/repos#create-a-deployment-status)."
+ * 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)."
*/
delete: operations["repos/delete-deployment"];
};
"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses": {
- /** Users with pull access can view deployment statuses for a deployment: */
+ /**
+ * List deployment statuses
+ * @description Users with pull access can view deployment statuses for a deployment:
+ */
get: operations["repos/list-deployment-statuses"];
/**
- * Users with `push` access can create deployment statuses for a given deployment.
+ * Create a deployment status
+ * @description Users with `push` access can create deployment statuses for a given deployment.
*
- * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth Apps require the `repo_deployment` scope.
+ * GitHub Apps require `read & write` access to "Deployments" and `read-only` access to "Repo contents" (for private repos). OAuth apps require the `repo_deployment` scope.
*/
post: operations["repos/create-deployment-status"];
};
"/repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}": {
- /** Users with pull access can view a deployment status for a deployment: */
+ /**
+ * Get a deployment status
+ * @description Users with pull access can view a deployment status for a deployment:
+ */
get: operations["repos/get-deployment-status"];
};
"/repos/{owner}/{repo}/dispatches": {
/**
- * 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)."
+ * 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.
*
@@ -3915,46 +4836,152 @@ export interface paths {
};
"/repos/{owner}/{repo}/environments": {
/**
- * Get all environments for a repository.
+ * List environments
+ * @description Lists the environments for a repository.
*
* Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
*/
get: operations["repos/get-all-environments"];
};
"/repos/{owner}/{repo}/environments/{environment_name}": {
- /** Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint. */
+ /**
+ * Get 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. If the
+ * repository is private, you must use an access token with the `repo` scope. GitHub
+ * Apps must have the `actions:read` permission to use this endpoint.
+ */
get: operations["repos/get-environment"];
/**
- * Create or update an environment with protection rules, such as required reviewers. For more information about environment protection rules, see "[Environments](/actions/reference/environments#environment-protection-rules)."
+ * 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:** Although you can use this operation to specify that only branches that match specified name patterns can deploy to this environment, you must use the UI to set the name patterns. For more information, see "[Environments](/actions/reference/environments#deployment-branches)."
+ * **Note:** To create or update 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 "[Secrets](/rest/reference/actions#secrets)."
+ * **Note:** To create or update secrets for an environment, see "[GitHub Actions secrets](/rest/actions/secrets)."
*
- * You must authenticate using an access token with the repo scope to use this endpoint.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint.
*/
put: operations["repos/create-or-update-environment"];
- /** You must authenticate using an access token with the repo scope to use this endpoint. */
+ /**
+ * Delete an environment
+ * @description You must authenticate using an access token with the repo scope to use this endpoint.
+ */
delete: operations["repos/delete-an-environment"];
};
+ "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies": {
+ /**
+ * List deployment branch policies
+ * @description Lists the deployment branch policies for an environment.
+ *
+ * Anyone with read access to the repository can use this endpoint. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
+ */
+ get: operations["repos/list-deployment-branch-policies"];
+ /**
+ * Create a deployment branch policy
+ * @description Creates a deployment branch or tag policy for an environment.
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint.
+ */
+ post: operations["repos/create-deployment-branch-policy"];
+ };
+ "/repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}": {
+ /**
+ * 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. If the repository is private, you must use an access token with the `repo` scope. GitHub Apps must have the `actions:read` permission to use this endpoint.
+ */
+ get: operations["repos/get-deployment-branch-policy"];
+ /**
+ * Update a deployment branch policy
+ * @description Updates a deployment branch or tag policy for an environment.
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint.
+ */
+ put: operations["repos/update-deployment-branch-policy"];
+ /**
+ * Delete a deployment branch policy
+ * @description Deletes a deployment branch or tag policy for an environment.
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `administration:write` permission for the repository to use this endpoint.
+ */
+ delete: operations["repos/delete-deployment-branch-policy"];
+ };
+ "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules": {
+ /**
+ * 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. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/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).
+ */
+ get: operations["repos/get-all-deployment-protection-rules"];
+ /**
+ * Create a custom deployment protection rule on an environment
+ * @description Enable a custom deployment protection rule for an environment.
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint. Enabling a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission 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).
+ */
+ post: operations["repos/create-deployment-protection-rule"];
+ };
+ "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps": {
+ /**
+ * List custom deployment rule integrations available for an environment
+ * @description Gets all custom deployment protection rule integrations that are available for an environment. Anyone with read access to the repository can use this endpoint. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint.
+ *
+ * For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/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)".
+ */
+ get: operations["repos/list-custom-deployment-rule-integrations"];
+ };
+ "/repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}": {
+ /**
+ * 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. If the repository is private and you want to use a personal access token (classic), you must use an access token with the `repo` scope. GitHub Apps and fine-grained personal access tokens must have the `actions:read` permission to use this endpoint. For more information about environments, see "[Using environments for deployment](https://docs.github.com/en/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).
+ */
+ get: operations["repos/get-custom-deployment-protection-rule"];
+ /**
+ * Disable a custom protection rule for an environment
+ * @description Disables a custom deployment protection rule for an environment.
+ *
+ * You must authenticate using an access token with the `repo` scope to use this endpoint. Removing a custom protection rule requires admin or owner permissions to the repository. GitHub Apps must have the `actions:write` permission to use this endpoint. For more information, see "[Get an app](https://docs.github.com/rest/apps/apps#get-an-app)".
+ */
+ delete: operations["repos/disable-deployment-protection-rule"];
+ };
"/repos/{owner}/{repo}/events": {
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/forks": {
+ /** List forks */
get: operations["repos/list-forks"];
/**
- * Create a fork for the authenticated user.
+ * 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"];
};
"/repos/{owner}/{repo}/git/blobs": {
+ /** Create a blob */
post: operations["git/create-blob"];
};
"/repos/{owner}/{repo}/git/blobs/{file_sha}": {
/**
- * The `content` in the response will always be Base64 encoded.
+ * Get a blob
+ * @description The `content` in the response will always be Base64 encoded.
*
* _Note_: This API supports blobs up to 100 megabytes in size.
*/
@@ -3962,7 +4989,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/git/commits": {
/**
- * Creates a new Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects).
+ * Create a commit
+ * @description Creates a new Git [commit object](https://git-scm.com/book/en/v2/Git-Internals-Git-Objects).
*
* **Signature verification object**
*
@@ -3986,7 +5014,7 @@ export interface paths {
* | `unsigned` | The object does not include a signature. |
* | `unknown_signature_type` | A non-PGP signature was found in the commit. |
* | `no_user` | No user was associated with the `committer` email address in the commit. |
- * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |
+ * | `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. |
@@ -3997,7 +5025,10 @@ export interface paths {
};
"/repos/{owner}/{repo}/git/commits/{commit_sha}": {
/**
- * Gets a Git [commit object](https://git-scm.com/book/en/v1/Git-Internals-Git-Objects#Commit-Objects).
+ * 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**
*
@@ -4021,7 +5052,7 @@ export interface paths {
* | `unsigned` | The object does not include a signature. |
* | `unknown_signature_type` | A non-PGP signature was found in the commit. |
* | `no_user` | No user was associated with the `committer` email address in the commit. |
- * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |
+ * | `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. |
@@ -4032,11 +5063,12 @@ export interface paths {
};
"/repos/{owner}/{repo}/git/matching-refs/{ref}": {
/**
- * 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.
+ * 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/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)".
+ * **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`.
*/
@@ -4044,23 +5076,30 @@ export interface paths {
};
"/repos/{owner}/{repo}/git/ref/{ref}": {
/**
- * 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.
+ * 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/reference/pulls#get-a-pull-request) to trigger a test merge commit, which checks the mergeability of pull requests. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)".
+ * **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"];
};
"/repos/{owner}/{repo}/git/refs": {
- /** 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. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/git/refs/{ref}": {
+ /** Delete a reference */
delete: operations["git/delete-ref"];
+ /** Update a reference */
patch: operations["git/update-ref"];
};
"/repos/{owner}/{repo}/git/tags": {
/**
- * Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then [create](https://docs.github.com/rest/reference/git#create-a-reference) the `refs/tags/[tag]` reference. If you want to create a lightweight tag, you only have to [create](https://docs.github.com/rest/reference/git#create-a-reference) the tag reference - this call would be unnecessary.
+ * 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**
*
@@ -4084,7 +5123,7 @@ export interface paths {
* | `unsigned` | The object does not include a signature. |
* | `unknown_signature_type` | A non-PGP signature was found in the commit. |
* | `no_user` | No user was associated with the `committer` email address in the commit. |
- * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |
+ * | `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. |
@@ -4095,7 +5134,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/git/tags/{tag_sha}": {
/**
- * **Signature verification object**
+ * 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:
*
@@ -4117,7 +5157,7 @@ export interface paths {
* | `unsigned` | The object does not include a signature. |
* | `unknown_signature_type` | A non-PGP signature was found in the commit. |
* | `no_user` | No user was associated with the `committer` email address in the commit. |
- * | `unverified_email` | The `committer` email address in the commit was associated with a user, but the email address is not verified on her/his account. |
+ * | `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. |
@@ -4128,68 +5168,102 @@ export interface paths {
};
"/repos/{owner}/{repo}/git/trees": {
/**
- * 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.
+ * 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)."
*
- * If you use this endpoint to add, delete, or modify the file contents in a tree, you will need to commit the tree and then update a branch to point to the commit. For more information see "[Create a commit](https://docs.github.com/rest/reference/git#create-a-commit)" and "[Update a reference](https://docs.github.com/rest/reference/git#update-a-reference)."
+ * Returns an error if you try to delete a file that does not exist.
*/
post: operations["git/create-tree"];
};
"/repos/{owner}/{repo}/git/trees/{tree_sha}": {
/**
- * Returns a single tree using the SHA1 value for that tree.
+ * 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"];
};
"/repos/{owner}/{repo}/hooks": {
+ /**
+ * 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"];
/**
- * Repositories can have multiple webhooks installed. Each webhook should have a unique `config`. Multiple webhooks can
+ * 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"];
};
"/repos/{owner}/{repo}/hooks/{hook_id}": {
- /** Returns a webhook configured in a repository. To get only the webhook `config` properties, see "[Get a webhook configuration for a repository](/rest/reference/repos#get-a-webhook-configuration-for-a-repository)." */
+ /**
+ * 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"];
+ /** Delete a repository webhook */
delete: operations["repos/delete-webhook"];
- /** Updates a webhook configured in a repository. If you previously had a `secret` set, you must provide the same `secret` or set a new `secret` or the secret will be removed. If you are only updating individual webhook `config` properties, use "[Update a webhook configuration for a repository](/rest/reference/repos#update-a-webhook-configuration-for-a-repository)." */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/hooks/{hook_id}/config": {
/**
- * Returns the webhook configuration for a repository. To get more information about the webhook, including the `active` state and `events`, use "[Get a repository webhook](/rest/reference/orgs#get-a-repository-webhook)."
+ * 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)."
*
* Access tokens must have the `read:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:read` permission.
*/
get: operations["repos/get-webhook-config-for-repo"];
/**
- * Updates the webhook configuration for a repository. To update more information about the webhook, including the `active` state and `events`, use "[Update a repository webhook](/rest/reference/orgs#update-a-repository-webhook)."
+ * 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)."
*
* Access tokens must have the `write:repo_hook` or `repo` scope, and GitHub Apps must have the `repository_hooks:write` permission.
*/
patch: operations["repos/update-webhook-config-for-repo"];
};
"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries": {
- /** Returns a list of webhook deliveries for a webhook configured in a repository. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}": {
- /** Returns a delivery for a webhook configured in a repository. */
+ /**
+ * Get a delivery for a repository webhook
+ * @description Returns a delivery for a webhook configured in a repository.
+ */
get: operations["repos/get-webhook-delivery"];
};
"/repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts": {
- /** Redeliver a webhook delivery for a webhook configured in a repository. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/hooks/{hook_id}/pings": {
- /** This will trigger a [ping event](https://docs.github.com/webhooks/#ping-event) to be sent to the hook. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/hooks/{hook_id}/tests": {
/**
- * 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.
+ * 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`
*/
@@ -4197,7 +5271,11 @@ export interface paths {
};
"/repos/{owner}/{repo}/import": {
/**
- * View the progress of an import.
+ * Get an import status
+ * @deprecated
+ * @description View the progress of an import.
+ *
+ * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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**
*
@@ -4213,11 +5291,11 @@ export interface paths {
*
* If there are problems, you will see one of these in the `status` field:
*
- * * `auth_failed` - the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section.
+ * * `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/reference/migrations#update-an-import) section.
- * * `detection_found_nothing` - the importer didn't recognize any source control at the URL. To resolve, [Cancel the import](https://docs.github.com/rest/reference/migrations#cancel-an-import) and [retry](https://docs.github.com/rest/reference/migrations#start-an-import) with the correct URL.
- * * `detection_found_multiple` - the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include a `project_choices` field with the possible project choices as values. To update project choice, please see the [Update an import](https://docs.github.com/rest/reference/migrations#update-an-import) section.
+ * * `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**
*
@@ -4233,327 +5311,652 @@ export interface paths {
* * `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 a source import to a GitHub repository using GitHub Importer. */
+ /**
+ * 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:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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"];
- /** Stop an import for a repository. */
+ /**
+ * Cancel an import
+ * @deprecated
+ * @description Stop an import for a repository.
+ *
+ * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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"];
/**
- * An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API
+ * 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:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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"];
};
"/repos/{owner}/{repo}/import/authors": {
/**
- * 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 `.
+ * 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.
*
- * This endpoint and the [Map a commit author](https://docs.github.com/rest/reference/migrations#map-a-commit-author) endpoint allow you to provide correct Git author information.
+ * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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"];
};
"/repos/{owner}/{repo}/import/authors/{author_id}": {
- /** Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository. */
+ /**
+ * 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:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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"];
};
"/repos/{owner}/{repo}/import/large_files": {
- /** List files larger than 100MB found during the import */
+ /**
+ * Get large files
+ * @deprecated
+ * @description List files larger than 100MB found during the import
+ *
+ * **Warning:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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"];
};
"/repos/{owner}/{repo}/import/lfs": {
- /** You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by [Git LFS](https://git-lfs.github.com). You can learn more about our LFS feature and working with large files [on our help site](https://docs.github.com/articles/versioning-large-files/). */
+ /**
+ * 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:** Due to very low levels of usage and available alternatives, this endpoint is deprecated 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"];
};
"/repos/{owner}/{repo}/installation": {
/**
- * 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.
+ * 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"];
};
"/repos/{owner}/{repo}/interaction-limits": {
- /** 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 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"];
- /** 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. */
+ /**
+ * 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"];
- /** 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. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/invitations": {
- /** When authenticating as a user with admin rights to a repository, this endpoint will list all currently open repository invitations. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/invitations/{invitation_id}": {
+ /** Delete a repository invitation */
delete: operations["repos/delete-invitation"];
+ /** Update a repository invitation */
patch: operations["repos/update-invitation"];
};
"/repos/{owner}/{repo}/issues": {
/**
- * List issues in a repository.
+ * List repository issues
+ * @description List issues in a repository. Only open issues will be listed.
*
- * **Note**: GitHub's REST API v3 considers every pull request an issue, but not every issue is a pull request. For this
+ * **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/reference/pulls#list-pull-requests)" endpoint.
+ * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint.
*/
get: operations["issues/list-for-repo"];
/**
- * Any user with pull access to a repository can create an issue. If [issues are disabled in the repository](https://docs.github.com/articles/disabling-issues/), the API returns a `410 Gone` status.
+ * 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. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
post: operations["issues/create"];
};
"/repos/{owner}/{repo}/issues/comments": {
- /** By default, Issue Comments are ordered by ascending ID. */
+ /**
+ * 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.
+ */
get: operations["issues/list-comments-for-repo"];
};
"/repos/{owner}/{repo}/issues/comments/{comment_id}": {
+ /**
+ * 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.
+ */
get: operations["issues/get-comment"];
+ /**
+ * 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"];
+ /**
+ * 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.
+ */
patch: operations["issues/update-comment"];
};
"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions": {
- /** List the reactions to an [issue comment](https://docs.github.com/rest/reference/issues#comments). */
+ /**
+ * 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"];
- /** Create a reaction to an [issue comment](https://docs.github.com/rest/reference/issues#comments). A response with an HTTP `200` status means that you already added the reaction type to this issue comment. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}": {
/**
- * **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 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/reference/issues#comments).
+ * 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"];
};
"/repos/{owner}/{repo}/issues/events": {
+ /**
+ * List issue events for a repository
+ * @description Lists events for a repository.
+ */
get: operations["issues/list-events-for-repo"];
};
"/repos/{owner}/{repo}/issues/events/{event_id}": {
+ /**
+ * Get an issue event
+ * @description Gets a single event by the event id.
+ */
get: operations["issues/get-event"];
};
"/repos/{owner}/{repo}/issues/{issue_number}": {
/**
- * The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was
+ * Get an issue
+ * @description The API returns a [`301 Moved Permanently` status](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-redirects-redirects) if the issue was
* [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 v3 considers every pull request an issue, but not every issue is a pull request. For this
+ * **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/reference/pulls#list-pull-requests)" endpoint.
+ * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint.
*/
get: operations["issues/get"];
- /** Issue owners and users with push access can edit an issue. */
+ /**
+ * Update an issue
+ * @description Issue owners and users with push access can edit an issue.
+ */
patch: operations["issues/update"];
};
"/repos/{owner}/{repo}/issues/{issue_number}/assignees": {
- /** Adds up to 10 assignees to an issue. Users already assigned to an issue are not replaced. */
+ /**
+ * 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"];
- /** Removes one or more assignees from an issue. */
+ /**
+ * Remove assignees from an issue
+ * @description Removes one or more assignees from an issue.
+ */
delete: operations["issues/remove-assignees"];
};
+ "/repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}": {
+ /**
+ * 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"];
+ };
"/repos/{owner}/{repo}/issues/{issue_number}/comments": {
- /** Issue Comments are ordered by ascending ID. */
+ /**
+ * 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.
+ */
get: operations["issues/list-comments"];
- /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */
+ /**
+ * 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.
+ * See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)"
+ * and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)"
+ * for details.
+ */
post: operations["issues/create-comment"];
};
"/repos/{owner}/{repo}/issues/{issue_number}/events": {
+ /**
+ * List issue events
+ * @description Lists all events for an issue.
+ */
get: operations["issues/list-events"];
};
"/repos/{owner}/{repo}/issues/{issue_number}/labels": {
+ /**
+ * List labels for an issue
+ * @description Lists all labels for an issue.
+ */
get: operations["issues/list-labels-on-issue"];
- /** Removes any previous labels and sets the new labels for an 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"];
};
"/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}": {
- /** 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. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/issues/{issue_number}/lock": {
/**
- * Users with push access can lock an issue or pull request's conversation.
+ * 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 verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)."
*/
put: operations["issues/lock"];
- /** Users with push access can unlock an issue's conversation. */
+ /**
+ * Unlock an issue
+ * @description Users with push access can unlock an issue's conversation.
+ */
delete: operations["issues/unlock"];
};
"/repos/{owner}/{repo}/issues/{issue_number}/reactions": {
- /** List the reactions to an [issue](https://docs.github.com/rest/reference/issues). */
+ /**
+ * 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"];
- /** Create a reaction to an [issue](https://docs.github.com/rest/reference/issues/). A response with an HTTP `200` status means that you already added the reaction type to this issue. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}": {
/**
- * **Note:** You can also specify a repository by `repository_id` using the route `DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id`.
+ * 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/reference/issues/).
+ * Delete a reaction to an [issue](https://docs.github.com/rest/issues/issues#get-an-issue).
*/
delete: operations["reactions/delete-for-issue"];
};
"/repos/{owner}/{repo}/issues/{issue_number}/timeline": {
+ /**
+ * List timeline events for an issue
+ * @description List all timeline events for an issue.
+ */
get: operations["issues/list-events-for-timeline"];
};
"/repos/{owner}/{repo}/keys": {
+ /** List deploy keys */
get: operations["repos/list-deploy-keys"];
- /** You can create a read-only deploy key. */
+ /**
+ * Create a deploy key
+ * @description You can create a read-only deploy key.
+ */
post: operations["repos/create-deploy-key"];
};
"/repos/{owner}/{repo}/keys/{key_id}": {
+ /** Get a deploy key */
get: operations["repos/get-deploy-key"];
- /** Deploy keys are immutable. If you need to update a key, remove the key and create a new one instead. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/labels": {
+ /**
+ * List labels for a repository
+ * @description Lists all labels for a repository.
+ */
get: operations["issues/list-labels-for-repo"];
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/labels/{name}": {
+ /**
+ * Get a label
+ * @description Gets a label using the given name.
+ */
get: operations["issues/get-label"];
+ /**
+ * Delete a label
+ * @description Deletes a label using the given label name.
+ */
delete: operations["issues/delete-label"];
+ /**
+ * Update a label
+ * @description Updates a label using the given label name.
+ */
patch: operations["issues/update-label"];
};
"/repos/{owner}/{repo}/languages": {
- /** Lists languages for the specified repository. The value shown for each language is the number of bytes of code written in that language. */
+ /**
+ * 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"];
};
- "/repos/{owner}/{repo}/lfs": {
- put: operations["repos/enable-lfs-for-repo"];
- delete: operations["repos/disable-lfs-for-repo"];
- };
"/repos/{owner}/{repo}/license": {
/**
- * This method returns the contents of the repository's license file, if one is detected.
+ * Get the license for a repository
+ * @description This method returns the contents of the repository's license file, if one is detected.
*
- * Similar to [Get repository content](https://docs.github.com/rest/reference/repos#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML.
+ * Similar to [Get repository content](https://docs.github.com/rest/repos/contents#get-repository-content), this method also supports [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw license content or rendered license HTML.
*/
get: operations["licenses/get-for-repo"];
};
"/repos/{owner}/{repo}/merge-upstream": {
- /** Sync a branch of a forked repository to keep it up-to-date with the upstream repository. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/merges": {
+ /** Merge a branch */
post: operations["repos/merge"];
};
"/repos/{owner}/{repo}/milestones": {
+ /**
+ * List milestones
+ * @description Lists milestones for a repository.
+ */
get: operations["issues/list-milestones"];
+ /**
+ * Create a milestone
+ * @description Creates a milestone.
+ */
post: operations["issues/create-milestone"];
};
"/repos/{owner}/{repo}/milestones/{milestone_number}": {
+ /**
+ * Get a milestone
+ * @description Gets a milestone using the given milestone number.
+ */
get: operations["issues/get-milestone"];
+ /**
+ * Delete a milestone
+ * @description Deletes a milestone using the given milestone number.
+ */
delete: operations["issues/delete-milestone"];
+ /** Update a milestone */
patch: operations["issues/update-milestone"];
};
"/repos/{owner}/{repo}/milestones/{milestone_number}/labels": {
+ /**
+ * List labels for issues in a milestone
+ * @description Lists labels for issues in a milestone.
+ */
get: operations["issues/list-labels-for-milestone"];
};
"/repos/{owner}/{repo}/notifications": {
- /** List all notifications for the current user. */
+ /**
+ * 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"];
- /** Marks all notifications in a repository as "read" removes them from the [default view on GitHub](https://github.com/notifications). If the number of notifications is too large to complete in one request, you will receive a `202 Accepted` status and GitHub will run an asynchronous process to mark notifications as "read." To check whether any "unread" notifications remain, you can use the [List repository notifications for the authenticated user](https://docs.github.com/rest/reference/activity#list-repository-notifications-for-the-authenticated-user) endpoint and pass the query parameter `all=false`. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/pages": {
+ /**
+ * Get a GitHub Pages site
+ * @description Gets information about a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
get: operations["repos/get-pages"];
- /** Updates information for a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-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).
+ *
+ * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions.
+ */
put: operations["repos/update-information-about-pages-site"];
- /** Configures a GitHub Pages site. For more information, see "[About GitHub Pages](/github/working-with-github-pages/about-github-pages)." */
+ /**
+ * 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)."
+ *
+ * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions.
+ */
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).
+ *
+ * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administration:write` and `pages:write` permissions.
+ */
delete: operations["repos/delete-pages-site"];
};
"/repos/{owner}/{repo}/pages/builds": {
+ /**
+ * List GitHub Pages builds
+ * @description Lists builts of a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
get: operations["repos/list-pages-builds"];
/**
- * 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.
+ * 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"];
};
"/repos/{owner}/{repo}/pages/builds/latest": {
+ /**
+ * Get latest Pages build
+ * @description Gets information about the single most recent build of a GitHub Pages site.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
get: operations["repos/get-latest-pages-build"];
};
"/repos/{owner}/{repo}/pages/builds/{build_id}": {
+ /**
+ * Get GitHub Pages build
+ * @description Gets information about a GitHub Pages build.
+ *
+ * A token with the `repo` scope is required. GitHub Apps must have the `pages:read` permission.
+ */
get: operations["repos/get-pages-build"];
};
+ "/repos/{owner}/{repo}/pages/deployment": {
+ /**
+ * Create a GitHub Pages deployment
+ * @description Create a GitHub Pages deployment for a repository.
+ *
+ * Users must have write permissions. GitHub Apps must have the `pages:write` permission to use this endpoint.
+ */
+ post: operations["repos/create-pages-deployment"];
+ };
"/repos/{owner}/{repo}/pages/health": {
/**
- * Gets a health check of the DNS settings for the `CNAME` record configured for a repository's GitHub Pages.
+ * 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.
*
- * Users must have admin or owner permissions. GitHub Apps must have the `pages:write` and `administration:write` permission to use this endpoint.
+ * To use this endpoint, you must be a repository administrator, maintainer, or have the 'manage GitHub Pages settings' permission. A token with the `repo` scope or Pages write permission is required. GitHub Apps must have the `administrative:write` and `pages:write` permissions.
*/
get: operations["repos/get-pages-health-check"];
};
+ "/repos/{owner}/{repo}/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"];
+ /**
+ * 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"];
+ };
"/repos/{owner}/{repo}/projects": {
- /** Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */
+ /**
+ * List repository projects
+ * @description Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.
+ */
get: operations["projects/list-for-repo"];
- /** Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */
+ /**
+ * Create a repository project
+ * @description Creates a repository project board. Returns a `410 Gone` status if projects are disabled in the repository or if the repository does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.
+ */
post: operations["projects/create-for-repo"];
};
+ "/repos/{owner}/{repo}/properties/values": {
+ /**
+ * 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"];
+ };
"/repos/{owner}/{repo}/pulls": {
- /** Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation. */
+ /**
+ * List pull requests
+ * @description Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ */
get: operations["pulls/list"];
/**
- * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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.
*
- * You can create a new pull request.
- *
- * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-rate-limits)" for details.
*/
post: operations["pulls/create"];
};
"/repos/{owner}/{repo}/pulls/comments": {
- /** Lists review comments for all pull requests in a repository. By default, review comments are in ascending order by ID. */
+ /**
+ * 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.
+ */
get: operations["pulls/list-review-comments-for-repo"];
};
"/repos/{owner}/{repo}/pulls/comments/{comment_id}": {
- /** Provides details for a review comment. */
+ /**
+ * Get a review comment for a pull request
+ * @description Provides details for a review comment.
+ */
get: operations["pulls/get-review-comment"];
- /** Deletes a review comment. */
+ /**
+ * Delete a review comment for a pull request
+ * @description Deletes a review comment.
+ */
delete: operations["pulls/delete-review-comment"];
- /** Enables you to edit a review comment. */
+ /**
+ * Update a review comment for a pull request
+ * @description Enables you to edit a review comment.
+ */
patch: operations["pulls/update-review-comment"];
};
"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions": {
- /** List the reactions to a [pull request review comment](https://docs.github.com/rest/reference/pulls#review-comments). */
+ /**
+ * 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"];
- /** Create a reaction to a [pull request review comment](https://docs.github.com/rest/reference/pulls#comments). A response with an HTTP `200` status means that you already added the reaction type to this pull request review comment. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}": {
/**
- * **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 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/reference/pulls#review-comments).
+ * 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"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}": {
/**
- * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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/reference/pulls/#create-a-pull-request), or [edit](https://docs.github.com/rest/reference/pulls#update-a-pull-request) a pull request, GitHub creates a merge commit to test whether the pull request can be automatically merged into the base branch. This test commit is not added to the base branch or the head branch. You can review the status of the test commit using the `mergeable` key. For more information, see "[Checking mergeability of pull requests](https://docs.github.com/rest/guides/getting-started-with-the-git-database-api#checking-mergeability-of-pull-requests)".
+ * 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.
*
@@ -4567,7 +5970,8 @@ export interface paths {
*/
get: operations["pulls/get"];
/**
- * Draft pull requests are available in public repositories with GitHub Free and GitHub Free for organizations, GitHub Pro, and legacy per-repository billing plans, and in public and private repositories with GitHub Team and GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
+ * 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.
*/
@@ -4575,7 +5979,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/pulls/{pull_number}/codespaces": {
/**
- * Creates a codespace owned by the authenticated user for the specified pull request.
+ * Create a codespace from a pull request
+ * @description Creates a codespace owned by the authenticated user for the specified pull request.
*
* You must authenticate using an access token with the `codespace` scope to use this endpoint.
*
@@ -4584,148 +5989,235 @@ export interface paths {
post: operations["codespaces/create-with-pr-for-authenticated-user"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/comments": {
- /** Lists all review comments for a pull request. By default, review comments are in ascending order by ID. */
+ /**
+ * List review comments on a pull request
+ * @description Lists all review comments for a pull request. By default, review comments are in ascending order by ID.
+ */
get: operations["pulls/list-review-comments"];
/**
- * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/reference/issues#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff.
+ * Create a review comment for a pull request
+ * @description
+ * Creates a review comment in the pull request diff. To add a regular comment to a pull request timeline, see "[Create an issue comment](https://docs.github.com/rest/issues/comments#create-an-issue-comment)." We recommend creating a review comment using `line`, `side`, and optionally `start_line` and `start_side` if your comment applies to more than one line in the pull request diff.
*
* The `position` parameter is deprecated. If you use `position`, the `line`, `side`, `start_line`, and `start_side` parameters are not required.
*
* **Note:** The position value equals the number of lines down from the first "@@" hunk header in the file you want to add a comment. The line just below the "@@" line is position 1, the next line is position 2, and so on. The position in the diff continues to increase through lines of whitespace and additional hunks until the beginning of a new file.
*
- * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
post: operations["pulls/create-review-comment"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies": {
/**
- * 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.
+ * 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/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
post: operations["pulls/create-reply-for-review-comment"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/commits": {
- /** Lists a maximum of 250 commits for a pull request. To receive a complete commit list for pull requests with more than 250 commits, use the [List commits](https://docs.github.com/rest/reference/repos#list-commits) endpoint. */
+ /**
+ * 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.
+ */
get: operations["pulls/list-commits"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/files": {
- /** **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default. */
+ /**
+ * List pull requests files
+ * @description **Note:** Responses include a maximum of 3000 files. The paginated response returns 30 files per page by default.
+ */
get: operations["pulls/list-files"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/merge": {
+ /**
+ * 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"];
- /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */
+ /**
+ * 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. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ */
put: operations["pulls/merge"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers": {
- /** Lists the users or teams whose review is requested for a pull request. Once a requested reviewer submits a review, they are no longer considered a requested reviewer. Their review will instead be returned by the [List reviews for a pull request](https://docs.github.com/rest/pulls/reviews#list-reviews-for-a-pull-request) operation. */
+ /**
+ * Get 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"];
- /** This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details. */
+ /**
+ * Request reviewers for a pull request
+ * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ */
post: operations["pulls/request-reviewers"];
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/reviews": {
- /** The list of reviews returns in chronological order. */
+ /**
+ * List reviews for a pull request
+ * @description The list of reviews returns in chronological order.
+ */
get: operations["pulls/list-reviews"];
/**
- * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * Create a review for a pull request
+ * @description This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*
- * Pull request reviews created in the `PENDING` state do not include the `submitted_at` property in the response.
+ * 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. The GitHub REST API v3 offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/reference/pulls#get-a-pull-request) endpoint.
+ * **Note:** To comment on a specific line in a file, you need to first determine the _position_ of that line in the diff. The GitHub REST API offers the `application/vnd.github.v3.diff` [media type](https://docs.github.com/rest/overview/media-types#commits-commit-comparison-and-pull-requests). To see a pull request diff, add this media type to the `Accept` header of a call to the [single pull request](https://docs.github.com/rest/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.
*/
post: operations["pulls/create-review"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}": {
+ /**
+ * Get a review for a pull request
+ * @description Retrieves a pull request review by its ID.
+ */
get: operations["pulls/get-review"];
- /** Update the review summary comment with new text. */
+ /**
+ * Update a review for a pull request
+ * @description Update the review summary comment with new text.
+ */
put: operations["pulls/update-review"];
+ /**
+ * Delete a pending review for a pull request
+ * @description Deletes a pull request review that has not been submitted. Submitted reviews cannot be deleted.
+ */
delete: operations["pulls/delete-pending-review"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments": {
- /** List comments for a specific pull request review. */
+ /**
+ * List comments for a pull request review
+ * @description List comments for a specific pull request review.
+ */
get: operations["pulls/list-comments-for-review"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals": {
- /** **Note:** To dismiss a pull request review on a [protected branch](https://docs.github.com/rest/reference/repos#branches), you must be a repository administrator or be included in the list of people or teams who can dismiss pull request reviews. */
+ /**
+ * Dismiss a review for a pull request
+ * @description **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.
+ */
put: operations["pulls/dismiss-review"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events": {
+ /**
+ * 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)."
+ */
post: operations["pulls/submit-review"];
};
"/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": {
- /** Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch. */
+ /**
+ * 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.
+ */
put: operations["pulls/update-branch"];
};
"/repos/{owner}/{repo}/readme": {
/**
- * Gets the preferred README for a repository.
+ * Get a repository README
+ * @description Gets the preferred README for a repository.
*
- * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML.
+ * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML.
*/
get: operations["repos/get-readme"];
};
"/repos/{owner}/{repo}/readme/{dir}": {
/**
- * Gets the README from a repository directory.
+ * Get a repository README for a directory
+ * @description Gets the README from a repository directory.
*
- * READMEs support [custom media types](https://docs.github.com/rest/reference/repos#custom-media-types) for retrieving the raw content or rendered HTML.
+ * READMEs support [custom media types](https://docs.github.com/rest/overview/media-types) for retrieving the raw content or rendered HTML.
*/
get: operations["repos/get-readme-in-directory"];
};
"/repos/{owner}/{repo}/releases": {
/**
- * This returns a list of releases, which does not include regular Git tags that have not been associated with a release. To get a list of Git tags, use the [Repository Tags API](https://docs.github.com/rest/reference/repos#list-repository-tags).
+ * 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"];
/**
- * Users with push access to the repository can create a release.
+ * Create a release
+ * @description Users with push access to the repository can create a release.
*
- * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
post: operations["repos/create-release"];
};
"/repos/{owner}/{repo}/releases/assets/{asset_id}": {
- /** To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response. */
+ /**
+ * Get a release asset
+ * @description To download the asset's binary content, set the `Accept` header of the request to [`application/octet-stream`](https://docs.github.com/rest/overview/media-types). The API will either redirect the client to the location, or stream it directly if possible. API clients should handle both a `200` or `302` response.
+ */
get: operations["repos/get-release-asset"];
+ /** Delete a release asset */
delete: operations["repos/delete-release-asset"];
- /** Users with push access to the repository can edit a release asset. */
+ /**
+ * Update a release asset
+ * @description Users with push access to the repository can edit a release asset.
+ */
patch: operations["repos/update-release-asset"];
};
"/repos/{owner}/{repo}/releases/generate-notes": {
- /** Generate a name and body describing a [release](https://docs.github.com/rest/reference/repos#releases). The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere. They are intended to be generated and used when creating a new release. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/releases/latest": {
/**
- * View the latest published full release for the repository.
+ * 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"];
};
"/repos/{owner}/{repo}/releases/tags/{tag}": {
- /** Get a published release with the specified tag. */
+ /**
+ * Get a release by tag name
+ * @description Get a published release with the specified tag.
+ */
get: operations["repos/get-release-by-tag"];
};
"/repos/{owner}/{repo}/releases/{release_id}": {
- /** **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia). */
+ /**
+ * Get a release
+ * @description **Note:** This returns an `upload_url` key corresponding to the endpoint for uploading release assets. This key is a [hypermedia resource](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia).
+ */
get: operations["repos/get-release"];
- /** Users with push access to the repository can delete a release. */
+ /**
+ * Delete a release
+ * @description Users with push access to the repository can delete a release.
+ */
delete: operations["repos/delete-release"];
- /** Users with push access to the repository can edit a release. */
+ /**
+ * Update a release
+ * @description Users with push access to the repository can edit a release.
+ */
patch: operations["repos/update-release"];
};
"/repos/{owner}/{repo}/releases/{release_id}/assets": {
+ /** List release assets */
get: operations["repos/list-release-assets"];
/**
- * This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in
- * the response of the [Create a release endpoint](https://docs.github.com/rest/reference/repos#create-a-release) to upload a release asset.
+ * Upload a release asset
+ * @description This endpoint makes use of [a Hypermedia relation](https://docs.github.com/rest/overview/resources-in-the-rest-api#hypermedia) to determine which URL to access. The endpoint you call to upload release assets is specific to your release. Use the `upload_url` returned in
+ * 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.
*
@@ -4739,29 +6231,93 @@ export interface paths {
* When an upstream failure occurs, you will receive a `502 Bad Gateway` status. This may leave an empty asset with a state of `starter`. It can be safely deleted.
*
* **Notes:**
- * * GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "[List assets for a release](https://docs.github.com/rest/reference/repos#list-assets-for-a-release)"
+ * * 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"];
};
"/repos/{owner}/{repo}/releases/{release_id}/reactions": {
- /** List the reactions to a [release](https://docs.github.com/rest/reference/repos#releases). */
+ /**
+ * 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"];
- /** Create a reaction to a [release](https://docs.github.com/rest/reference/repos#releases). A response with a `Status: 200 OK` means that you already added the reaction type to this release. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}": {
/**
- * **Note:** You can also specify a repository by `repository_id` using the route `DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id`.
+ * Delete a 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/reference/repos#releases).
+ * Delete a reaction to a [release](https://docs.github.com/rest/releases/releases#get-a-release).
*/
delete: operations["reactions/delete-for-release"];
};
+ "/repos/{owner}/{repo}/rules/branches/{branch}": {
+ /**
+ * 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"];
+ };
+ "/repos/{owner}/{repo}/rulesets": {
+ /**
+ * Get all repository rulesets
+ * @description Get all the rulesets for a repository.
+ */
+ get: operations["repos/get-repo-rulesets"];
+ /**
+ * Create a repository ruleset
+ * @description Create a ruleset for a repository.
+ */
+ post: operations["repos/create-repo-ruleset"];
+ };
+ "/repos/{owner}/{repo}/rulesets/rule-suites": {
+ /**
+ * 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"];
+ };
+ "/repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}": {
+ /**
+ * 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"];
+ };
+ "/repos/{owner}/{repo}/rulesets/{ruleset_id}": {
+ /**
+ * Get a repository ruleset
+ * @description Get a ruleset for a repository.
+ */
+ get: operations["repos/get-repo-ruleset"];
+ /**
+ * Update a repository ruleset
+ * @description Update a ruleset for a repository.
+ */
+ put: operations["repos/update-repo-ruleset"];
+ /**
+ * Delete a repository ruleset
+ * @description Delete a ruleset for a repository.
+ */
+ delete: operations["repos/delete-repo-ruleset"];
+ };
"/repos/{owner}/{repo}/secret-scanning/alerts": {
/**
- * Lists secret scanning alerts for an eligible repository, from newest to oldest.
+ * List secret scanning alerts for a repository
+ * @description Lists secret scanning alerts for an eligible repository, from newest to oldest.
* To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope.
* For public repositories, you may instead use the `public_repo` scope.
*
@@ -4771,7 +6327,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}": {
/**
- * Gets a single secret scanning alert detected in an eligible repository.
+ * Get a secret scanning alert
+ * @description Gets a single secret scanning alert detected in an eligible repository.
* To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope.
* For public repositories, you may instead use the `public_repo` scope.
*
@@ -4779,7 +6336,8 @@ export interface paths {
*/
get: operations["secret-scanning/get-alert"];
/**
- * Updates the status of a secret scanning alert in an eligible repository.
+ * Update a secret scanning alert
+ * @description Updates the status of a secret scanning alert in an eligible repository.
* To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope.
* For public repositories, you may instead use the `public_repo` scope.
*
@@ -4789,7 +6347,8 @@ export interface paths {
};
"/repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations": {
/**
- * Lists all locations for a given secret scanning alert for an eligible repository.
+ * List locations for a secret scanning alert
+ * @description Lists all locations for a given secret scanning alert for an eligible repository.
* To use this endpoint, you must be an administrator for the repository or for the organization that owns the repository, and you must use a personal access token with the `repo` scope or `security_events` scope.
* For public repositories, you may instead use the `public_repo` scope.
*
@@ -4797,24 +6356,95 @@ export interface paths {
*/
get: operations["secret-scanning/list-locations-for-alert"];
};
+ "/repos/{owner}/{repo}/security-advisories": {
+ /**
+ * List repository security advisories
+ * @description Lists security advisories in a repository.
+ * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission
+ * in order to get published security advisories in a private repository, or any unpublished security advisories that you have access to.
+ *
+ * You can access unpublished security advisories from a repository if you are a security manager or administrator of that repository, or if you are a collaborator on any security advisory.
+ */
+ get: operations["security-advisories/list-repository-advisories"];
+ /**
+ * Create a repository security advisory
+ * @description Creates a new repository security advisory.
+ * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint.
+ *
+ * In order to create a draft repository security advisory, you must be a security manager or administrator of that repository.
+ */
+ post: operations["security-advisories/create-repository-advisory"];
+ };
+ "/repos/{owner}/{repo}/security-advisories/reports": {
+ /**
+ * 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"];
+ };
+ "/repos/{owner}/{repo}/security-advisories/{ghsa_id}": {
+ /**
+ * Get a repository security advisory
+ * @description Get a repository security advisory using its GitHub Security Advisory (GHSA) identifier.
+ * You can access any published security advisory on a public repository.
+ * You must authenticate using an access token with the `repo` scope or `repository_advisories:read` permission
+ * in order to get a published security advisory in a private repository, or any unpublished security advisory that you have access to.
+ *
+ * You can access an unpublished security advisory from a repository if you are a security manager or administrator of that repository, or if you are a
+ * collaborator on the security advisory.
+ */
+ get: operations["security-advisories/get-repository-advisory"];
+ /**
+ * Update a repository security advisory
+ * @description Update a repository security advisory using its GitHub Security Advisory (GHSA) identifier.
+ * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint.
+ *
+ * In order to update any security advisory, you must be a security manager or administrator of that repository,
+ * or a collaborator on the repository security advisory.
+ */
+ patch: operations["security-advisories/update-repository-advisory"];
+ };
+ "/repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve": {
+ /**
+ * 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.
+ *
+ * You must authenticate using an access token with the `repo` scope or `repository_advisories:write` permission to use this endpoint.
+ *
+ * In order to request a CVE for a repository security advisory, you must be a security manager or administrator of that repository.
+ */
+ post: operations["security-advisories/create-repository-advisory-cve-request"];
+ };
"/repos/{owner}/{repo}/stargazers": {
/**
- * Lists the people that have starred the repository.
+ * List stargazers
+ * @description Lists the people that have starred the repository.
*
- * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:
+ * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`.
*/
get: operations["activity/list-stargazers-for-repo"];
};
"/repos/{owner}/{repo}/stats/code_frequency": {
- /** Returns a weekly aggregate of the number of additions and deletions pushed to a repository. */
+ /**
+ * Get the weekly commit activity
+ * @description Returns a weekly aggregate of the number of additions and deletions pushed to a repository.
+ */
get: operations["repos/get-code-frequency-stats"];
};
"/repos/{owner}/{repo}/stats/commit_activity": {
- /** Returns the last year of commit activity grouped by week. The `days` array is a group of commits per day, starting on `Sunday`. */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/stats/contributors": {
/**
+ * 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](http://en.wikipedia.org/wiki/Unix_time).
@@ -4826,15 +6456,19 @@ export interface paths {
};
"/repos/{owner}/{repo}/stats/participation": {
/**
- * 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`.
+ * 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"];
};
"/repos/{owner}/{repo}/stats/punch_card": {
/**
- * Each array contains the day number, hour number, and number of commits:
+ * 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
@@ -4846,102 +6480,165 @@ export interface paths {
};
"/repos/{owner}/{repo}/statuses/{sha}": {
/**
- * Users with push access in a repository can create commit statuses for a given SHA.
+ * 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"];
};
"/repos/{owner}/{repo}/subscribers": {
- /** Lists the people watching the specified repository. */
+ /**
+ * List watchers
+ * @description Lists the people watching the specified repository.
+ */
get: operations["activity/list-watchers-for-repo"];
};
"/repos/{owner}/{repo}/subscription": {
+ /**
+ * Get a repository subscription
+ * @description Gets information about whether the authenticated user is subscribed to the repository.
+ */
get: operations["activity/get-repo-subscription"];
- /** If you would like to watch a repository, set `subscribed` to `true`. If you would like to ignore notifications made within a repository, set `ignored` to `true`. If you would like to stop watching a repository, [delete the repository's subscription](https://docs.github.com/rest/reference/activity#delete-a-repository-subscription) completely. */
+ /**
+ * 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"];
- /** This endpoint should only be used to stop watching a repository. To control whether or not you wish to receive notifications from a repository, [set the repository's subscription manually](https://docs.github.com/rest/reference/activity#set-a-repository-subscription). */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/tags": {
+ /** List repository tags */
get: operations["repos/list-tags"];
};
"/repos/{owner}/{repo}/tags/protection": {
/**
- * This returns the tag protection states of a repository.
+ * List tag protection states for a repository
+ * @description This returns the tag protection states of a repository.
*
* This information is only available to repository administrators.
*/
get: operations["repos/list-tag-protection"];
/**
- * This creates a tag protection state for a repository.
+ * Create a tag protection state for a repository
+ * @description This creates a tag protection state for a repository.
* This endpoint is only available to repository administrators.
*/
post: operations["repos/create-tag-protection"];
};
"/repos/{owner}/{repo}/tags/protection/{tag_protection_id}": {
/**
- * This deletes a tag protection state for a repository.
+ * Delete a tag protection state for a repository
+ * @description This deletes a tag protection state for a repository.
* This endpoint is only available to repository administrators.
*/
delete: operations["repos/delete-tag-protection"];
};
"/repos/{owner}/{repo}/tarball/{ref}": {
/**
- * Gets a redirect URL to download a tar archive for a repository. If you omit `:ref`, the repository’s default branch (usually
- * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use
+ * 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"];
};
"/repos/{owner}/{repo}/teams": {
+ /**
+ * 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.
+ *
+ * Personal access tokens require the following scopes:
+ * * `public_repo` to call this endpoint on a public repository
+ * * `repo` to call this endpoint on a private repository (this scope also includes public repositories)
+ *
+ * This endpoint is not compatible with fine-grained personal access tokens.
+ */
get: operations["repos/list-teams"];
};
"/repos/{owner}/{repo}/topics": {
+ /** Get all repository topics */
get: operations["repos/get-all-topics"];
+ /** Replace all repository topics */
put: operations["repos/replace-all-topics"];
};
"/repos/{owner}/{repo}/traffic/clones": {
- /** 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 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"];
};
"/repos/{owner}/{repo}/traffic/popular/paths": {
- /** Get the top 10 popular contents over the last 14 days. */
+ /**
+ * Get top referral paths
+ * @description Get the top 10 popular contents over the last 14 days.
+ */
get: operations["repos/get-top-paths"];
};
"/repos/{owner}/{repo}/traffic/popular/referrers": {
- /** Get the top 10 referrers over the last 14 days. */
+ /**
+ * Get top referral sources
+ * @description Get the top 10 referrers over the last 14 days.
+ */
get: operations["repos/get-top-referrers"];
};
"/repos/{owner}/{repo}/traffic/views": {
- /** 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 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"];
};
"/repos/{owner}/{repo}/transfer": {
- /** A transfer request will need to be accepted by the new owner when transferring a personal repository to another user. The response will contain the original `owner`, and the transfer will continue asynchronously. For more details on the requirements to transfer personal and organization-owned repositories, see [about repository transfers](https://docs.github.com/articles/about-repository-transfers/). */
+ /**
+ * 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/).
+ * You must use a personal access token (classic) or an OAuth token for this endpoint. An installation access token or a fine-grained personal access token cannot be used because they are only granted access to a single account.
+ */
post: operations["repos/transfer"];
};
"/repos/{owner}/{repo}/vulnerability-alerts": {
- /** Shows whether dependency alerts are enabled or disabled for a repository. The authenticated user must have admin read access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */
+ /**
+ * 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"];
- /** Enables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */
+ /**
+ * 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"];
- /** Disables dependency alerts and the dependency graph for a repository. The authenticated user must have admin access to the repository. For more information, see "[About security alerts for vulnerable dependencies](https://docs.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies)". */
+ /**
+ * 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"];
};
"/repos/{owner}/{repo}/zipball/{ref}": {
/**
- * Gets a redirect URL to download a zip archive for a repository. If you omit `:ref`, the repository’s default branch (usually
- * `master`) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use
+ * 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.
+ *
+ * **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"];
};
"/repos/{template_owner}/{template_repo}/generate": {
/**
- * Creates a new repository using a repository template. Use the `template_owner` and `template_repo` route parameters to specify the repository to use as the template. The authenticated user must own or be a member of an organization that owns the repository. To check if a repository is available to use as a template, get the repository's information using the [Get a repository](https://docs.github.com/rest/reference/repos#get-a-repository) endpoint and check that the `is_template` key is `true`.
+ * 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 scope requirements**
*
@@ -4954,261 +6651,125 @@ export interface paths {
};
"/repositories": {
/**
- * Lists all public repositories in the order that they were created.
+ * 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/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of repositories.
+ * - 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"];
};
"/repositories/{repository_id}/environments/{environment_name}/secrets": {
- /** Lists all secrets available in an environment without revealing their encrypted values. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */
- get: operations["actions/list-environment-secrets"];
- };
- "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": {
- /** Get the public key for an environment, which you need to encrypt environment secrets. You need to encrypt a secret before you can create or update secrets. Anyone with read access to the repository can use this endpoint. If the repository is private you must use an access token with the `repo` scope. GitHub Apps must have the `secrets` repository permission to use this endpoint. */
- get: operations["actions/get-environment-public-key"];
- };
- "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": {
- /** Gets a single environment secret without revealing its encrypted value. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */
- get: operations["actions/get-environment-secret"];
/**
- * Creates or updates an environment secret with an encrypted value. Encrypt your secret using
- * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). You must authenticate using an access
- * token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use
- * this endpoint.
- *
- * #### Example encrypting a secret using Node.js
- *
- * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.
- *
- * ```
- * const sodium = require('tweetsodium');
- *
- * const key = "base64-encoded-public-key";
- * const value = "plain-text-secret";
- *
- * // Convert the message and key to Uint8Array's (Buffer implements that interface)
- * const messageBytes = Buffer.from(value);
- * const keyBytes = Buffer.from(key, 'base64');
- *
- * // Encrypt using LibSodium.
- * const encryptedBytes = sodium.seal(messageBytes, keyBytes);
- *
- * // Base64 the encrypted secret
- * const encrypted = Buffer.from(encryptedBytes).toString('base64');
- *
- * console.log(encrypted);
- * ```
- *
- *
- * #### Example encrypting a secret using Python
- *
- * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3.
- *
- * ```
- * from base64 import b64encode
- * from nacl import encoding, public
- *
- * def encrypt(public_key: str, secret_value: str) -> str:
- * """Encrypt a Unicode string using the public key."""
- * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder())
- * sealed_box = public.SealedBox(public_key)
- * encrypted = sealed_box.encrypt(secret_value.encode("utf-8"))
- * return b64encode(encrypted).decode("utf-8")
- * ```
- *
- * #### Example encrypting a secret using C#
- *
- * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.
- *
- * ```
- * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret");
- * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=");
- *
- * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);
- *
- * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));
- * ```
- *
- * #### Example encrypting a secret using Ruby
- *
- * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.
- *
- * ```ruby
- * require "rbnacl"
- * require "base64"
- *
- * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=")
- * public_key = RbNaCl::PublicKey.new(key)
- *
- * box = RbNaCl::Boxes::Sealed.from_public_key(public_key)
- * encrypted_secret = box.encrypt("my_secret")
+ * List environment secrets
+ * @description Lists all secrets available in an environment without revealing their
+ * encrypted values.
*
- * # Print the base64 encoded secret
- * puts Base64.strict_encode64(encrypted_secret)
- * ```
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `secrets` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
*/
- put: operations["actions/create-or-update-environment-secret"];
- /** Deletes a secret in an environment using the secret name. You must authenticate using an access token with the `repo` scope to use this endpoint. GitHub Apps must have the `secrets` repository permission to use this endpoint. */
- delete: operations["actions/delete-environment-secret"];
+ get: operations["actions/list-environment-secrets"];
};
- "/scim/v2/enterprises/{enterprise}/Groups": {
- /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */
- get: operations["enterprise-admin/list-provisioned-groups-enterprise"];
+ "/repositories/{repository_id}/environments/{environment_name}/secrets/public-key": {
/**
- * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.
+ * 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.
*
- * Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to.
+ * Anyone with read access to the repository can use this endpoint.
+ * If the repository is private you must use an access token with the `repo` scope.
+ * GitHub Apps must have the `secrets` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
*/
- post: operations["enterprise-admin/provision-and-invite-enterprise-group"];
+ get: operations["actions/get-environment-public-key"];
};
- "/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": {
- /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */
- get: operations["enterprise-admin/get-provisioning-information-for-enterprise-group"];
- /**
- * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.
- *
- * Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead.
- */
- put: operations["enterprise-admin/set-information-for-provisioned-enterprise-group"];
- /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */
- delete: operations["enterprise-admin/delete-scim-group-from-enterprise"];
+ "/repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}": {
/**
- * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.
+ * Get an environment secret
+ * @description Gets a single environment secret without revealing its encrypted value.
*
- * Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `secrets` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
*/
- patch: operations["enterprise-admin/update-attribute-for-enterprise-group"];
- };
- "/scim/v2/enterprises/{enterprise}/Users": {
+ get: operations["actions/get-environment-secret"];
/**
- * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.
+ * 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)."
*
- * Retrieves a paginated list of all provisioned enterprise members, including pending invitations.
- *
- * When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member:
- * - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future.
- * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted).
- * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO.
- *
- * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO:
- *
- * 1. The user is granted access by the IdP and is not a member of the GitHub enterprise.
- *
- * 1. The user attempts to access the GitHub enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub account.
- *
- * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account:
- * - If the user signs in, their GitHub account is linked to this entry.
- * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub enterprise, and the external identity `null` entry remains in place.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `secrets` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
*/
- get: operations["enterprise-admin/list-provisioned-identities-enterprise"];
+ put: operations["actions/create-or-update-environment-secret"];
/**
- * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.
+ * Delete an environment secret
+ * @description Deletes a secret in an environment using the secret name.
*
- * Provision enterprise membership for a user, and send organization invitation emails to the email address.
- *
- * You can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `secrets` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read secrets.
*/
- post: operations["enterprise-admin/provision-and-invite-enterprise-user"];
+ delete: operations["actions/delete-environment-secret"];
};
- "/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": {
- /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */
- get: operations["enterprise-admin/get-provisioning-information-for-enterprise-user"];
+ "/repositories/{repository_id}/environments/{environment_name}/variables": {
/**
- * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.
- *
- * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead.
- *
- * You must at least provide the required values for the user: `userName`, `name`, and `emails`.
+ * List environment variables
+ * @description Lists all environment variables.
*
- * **Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `environments:read` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
*/
- put: operations["enterprise-admin/set-information-for-provisioned-enterprise-user"];
- /** **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change. */
- delete: operations["enterprise-admin/delete-user-from-enterprise"];
+ get: operations["actions/list-environment-variables"];
/**
- * **Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.
- *
- * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).
+ * Create an environment variable
+ * @description Create an environment variable that you can reference in a GitHub Actions workflow.
*
- * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work.
- *
- * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`.
- *
- * ```
- * {
- * "Operations":[{
- * "op":"replace",
- * "value":{
- * "active":false
- * }
- * }]
- * }
- * ```
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `environment:write` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
*/
- patch: operations["enterprise-admin/update-attribute-for-enterprise-user"];
+ post: operations["actions/create-environment-variable"];
};
- "/scim/v2/organizations/{org}/Users": {
+ "/repositories/{repository_id}/environments/{environment_name}/variables/{name}": {
/**
- * Retrieves a paginated list of all provisioned organization members, including pending invitations. If you provide the `filter` parameter, the resources for all matching provisions members are returned.
- *
- * When a user with a SAML-provisioned external identity leaves (or is removed from) an organization, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub. This can happen in certain cases where an external identity associated with an organization will not match an organization member:
- * - When a user with a SCIM-provisioned external identity is removed from an organization, the account's metadata is preserved to allow the user to re-join the organization in the future.
- * - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted).
- * - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO.
- *
- * The returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub account after completing SSO:
- *
- * 1. The user is granted access by the IdP and is not a member of the GitHub organization.
+ * Get an environment variable
+ * @description Gets a specific variable in an environment.
*
- * 1. The user attempts to access the GitHub organization and initiates the SAML SSO process, and is not currently signed in to their GitHub account.
- *
- * 1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub account:
- * - If the user signs in, their GitHub account is linked to this entry.
- * - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub organization, and the external identity `null` entry remains in place.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `environments:read` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
*/
- get: operations["scim/list-provisioned-identities"];
- /** Provision organization membership for a user, and send an activation email to the email address. */
- post: operations["scim/provision-and-invite-user"];
- };
- "/scim/v2/organizations/{org}/Users/{scim_user_id}": {
- get: operations["scim/get-provisioning-information-for-user"];
+ get: operations["actions/get-environment-variable"];
/**
- * Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](https://docs.github.com/rest/reference/scim#update-an-attribute-for-a-scim-user) endpoint instead.
- *
- * You must at least provide the required values for the user: `userName`, `name`, and `emails`.
+ * Delete an environment variable
+ * @description Deletes an environment variable using the variable name.
*
- * **Warning:** Setting `active: false` removes the user from the organization, deletes the external identity, and deletes the associated `{scim_user_id}`.
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `environment:write` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
*/
- put: operations["scim/set-information-for-provisioned-user"];
- delete: operations["scim/delete-user-from-org"];
+ delete: operations["actions/delete-environment-variable"];
/**
- * Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).
- *
- * **Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `"path": "emails[type eq \"work\"]"` will not work.
- *
- * **Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the organization, deletes the external identity, and deletes the associated `:scim_user_id`.
+ * Update an environment variable
+ * @description Updates an environment variable that you can reference in a GitHub Actions workflow.
*
- * ```
- * {
- * "Operations":[{
- * "op":"replace",
- * "value":{
- * "active":false
- * }
- * }]
- * }
- * ```
+ * You must authenticate using an access token with the `repo` scope to use this endpoint.
+ * GitHub Apps must have the `environment:write` repository permission to use this endpoint.
+ * Authenticated users must have collaborator access to a repository to create, update, or read variables.
*/
- patch: operations["scim/update-attribute-for-user"];
+ patch: operations["actions/update-environment-variable"];
};
"/search/code": {
/**
- * Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).
+ * Search code
+ * @description Searches for query terms inside of a file. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).
*
- * When searching for code, you can get text match metadata for the file **content** and file **path** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).
+ * When 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:
*
@@ -5216,7 +6777,7 @@ export interface paths {
*
* 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
+ * Considerations for code search:
*
* Due to the complexity of searching code, there are a few restrictions on how searches are performed:
*
@@ -5224,15 +6785,18 @@ export interface paths {
* * 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"];
};
"/search/commits": {
/**
- * Find commits via various criteria on the default branch (usually `master`). This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).
+ * 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/overview/resources-in-the-rest-api#pagination).
*
* When searching for commits, you can get text match metadata for the **message** field when you provide the `text-match` media type. For more details about how to receive highlighted search results, see [Text match
- * metadata](https://docs.github.com/rest/reference/search#text-match-metadata).
+ * 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:
*
@@ -5242,10 +6806,11 @@ export interface paths {
};
"/search/issues": {
/**
- * Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).
+ * Search issues and pull requests
+ * @description Find issues by state and keyword. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).
*
* When searching for issues, you can get text match metadata for the issue **title**, issue **body**, and issue **comment body** fields when you pass the `text-match` media type. For more details about how to receive highlighted
- * search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).
+ * search results, see [Text match metadata](https://docs.github.com/rest/search/search#text-match-metadata).
*
* For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this.
*
@@ -5253,15 +6818,16 @@ export interface paths {
*
* This query searches for the keyword `windows`, within any open issue that is labeled as `bug`. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results.
*
- * **Note:** For [user-to-server](https://docs.github.com/developers/apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests) GitHub App requests, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)."
+ * **Note:** For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the `is:issue` or `is:pull-request` qualifier will receive an HTTP `422 Unprocessable Entity` response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the `is` qualifier, see "[Searching only issues or pull requests](https://docs.github.com/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-only-issues-or-pull-requests)."
*/
get: operations["search/issues-and-pull-requests"];
};
"/search/labels": {
/**
- * Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).
+ * Search labels
+ * @description Find labels in a repository with names or descriptions that match search keywords. Returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).
*
- * When searching for labels, you can get text match metadata for the label **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).
+ * 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:
*
@@ -5273,9 +6839,10 @@ export interface paths {
};
"/search/repositories": {
/**
- * Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).
+ * Search repositories
+ * @description Find repositories via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).
*
- * When searching for repositories, you can get text match metadata for the **name** and **description** fields when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).
+ * 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:
*
@@ -5287,9 +6854,10 @@ export interface paths {
};
"/search/topics": {
/**
- * Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers.
+ * Search topics
+ * @description Find topics via various criteria. Results are sorted by best match. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination). See "[Searching topics](https://docs.github.com/articles/searching-topics/)" for a detailed list of qualifiers.
*
- * When searching for topics, you can get text match metadata for the topic's **short\_description**, **description**, **name**, or **display\_name** field when you pass the `text-match` media type. For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).
+ * 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:
*
@@ -5301,23 +6869,32 @@ export interface paths {
};
"/search/users": {
/**
- * Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).
+ * Search users
+ * @description Find users via various criteria. This method returns up to 100 results [per page](https://docs.github.com/rest/overview/resources-in-the-rest-api#pagination).
*
- * When searching for users, you can get text match metadata for the issue **login**, **email**, and **name** fields when you pass the `text-match` media type. For more details about highlighting search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata). For more details about how to receive highlighted search results, see [Text match metadata](https://docs.github.com/rest/reference/search#text-match-metadata).
+ * 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"];
};
"/teams/{team_id}": {
- /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/reference/teams#get-a-team-by-name) endpoint. */
+ /**
+ * Get a team (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the [Get a team by name](https://docs.github.com/rest/teams/teams#get-a-team-by-name) endpoint.
+ */
get: operations["teams/get-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/reference/teams#delete-a-team) endpoint.
+ * Delete a team (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a team](https://docs.github.com/rest/teams/teams#delete-a-team) endpoint.
*
* To delete a team, the authenticated user must be an organization owner or team maintainer.
*
@@ -5325,7 +6902,9 @@ export interface paths {
*/
delete: operations["teams/delete-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/reference/teams#update-a-team) endpoint.
+ * Update a team (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a team](https://docs.github.com/rest/teams/teams#update-a-team) endpoint.
*
* To edit a team, the authenticated user must either be an organization owner or a team maintainer.
*
@@ -5335,35 +6914,45 @@ export interface paths {
};
"/teams/{team_id}/discussions": {
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/reference/teams#list-discussions) endpoint.
+ * List discussions (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List discussions`](https://docs.github.com/rest/teams/discussions#list-discussions) endpoint.
*
* List all discussions on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*/
get: operations["teams/list-discussions-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/reference/teams#create-a-discussion) endpoint.
+ * Create a discussion (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create a discussion`](https://docs.github.com/rest/teams/discussions#create-a-discussion) endpoint.
*
* Creates a new discussion post on a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*
- * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
post: operations["teams/create-discussion-legacy"];
};
"/teams/{team_id}/discussions/{discussion_number}": {
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/reference/teams#get-a-discussion) endpoint.
+ * Get a discussion (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion) endpoint.
*
* Get a specific discussion on a team's page. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*/
get: operations["teams/get-discussion-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/reference/teams#delete-a-discussion) endpoint.
+ * Delete a discussion (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Delete a discussion`](https://docs.github.com/rest/teams/discussions#delete-a-discussion) endpoint.
*
* Delete a discussion from a team's page. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*/
delete: operations["teams/delete-discussion-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/reference/teams#update-a-discussion) endpoint.
+ * Update a discussion (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion](https://docs.github.com/rest/teams/discussions#update-a-discussion) endpoint.
*
* Edits the title and body text of a discussion post. Only the parameters you provide are updated. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*/
@@ -5371,35 +6960,45 @@ export interface paths {
};
"/teams/{team_id}/discussions/{discussion_number}/comments": {
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/reference/teams#list-discussion-comments) endpoint.
+ * List discussion comments (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List discussion comments](https://docs.github.com/rest/teams/discussion-comments#list-discussion-comments) endpoint.
*
* List all comments on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*/
get: operations["teams/list-discussion-comments-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/reference/teams#create-a-discussion-comment) endpoint.
+ * Create a discussion comment (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Create a discussion comment](https://docs.github.com/rest/teams/discussion-comments#create-a-discussion-comment) endpoint.
*
* Creates a new comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*
- * This endpoint triggers [notifications](https://docs.github.com/en/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
+ * This endpoint triggers [notifications](https://docs.github.com/github/managing-subscriptions-and-notifications-on-github/about-notifications). Creating content too quickly using this endpoint may result in secondary rate limiting. See "[Secondary rate limits](https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits)" and "[Dealing with secondary rate limits](https://docs.github.com/rest/guides/best-practices-for-integrators#dealing-with-secondary-rate-limits)" for details.
*/
post: operations["teams/create-discussion-comment-legacy"];
};
"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}": {
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/reference/teams#get-a-discussion-comment) endpoint.
+ * Get a discussion comment (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get a discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment) endpoint.
*
* Get a specific comment on a team discussion. OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*/
get: operations["teams/get-discussion-comment-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/reference/teams#delete-a-discussion-comment) endpoint.
+ * Delete a discussion comment (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Delete a discussion comment](https://docs.github.com/rest/teams/discussion-comments#delete-a-discussion-comment) endpoint.
*
* Deletes a comment on a team discussion. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*/
delete: operations["teams/delete-discussion-comment-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/reference/teams#update-a-discussion-comment) endpoint.
+ * Update a discussion comment (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Update a discussion comment](https://docs.github.com/rest/teams/discussion-comments#update-a-discussion-comment) endpoint.
*
* Edits the body text of a discussion comment. OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*/
@@ -5407,35 +7006,45 @@ export interface paths {
};
"/teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions": {
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion-comment) endpoint.
+ * List reactions for a team discussion comment (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion comment`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment) endpoint.
*
- * List the reactions to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * List the reactions to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*/
get: operations["reactions/list-for-team-discussion-comment-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion-comment)" endpoint.
+ * Create reaction for a team discussion comment (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Create reaction for a team discussion comment](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment)" endpoint.
*
- * Create a reaction to a [team discussion comment](https://docs.github.com/rest/reference/teams#discussion-comments). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment.
+ * Create a reaction to a [team discussion comment](https://docs.github.com/rest/teams/discussion-comments#get-a-discussion-comment). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion comment.
*/
post: operations["reactions/create-for-team-discussion-comment-legacy"];
};
"/teams/{team_id}/discussions/{discussion_number}/reactions": {
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reference/reactions#list-reactions-for-a-team-discussion) endpoint.
+ * List reactions for a team discussion (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List reactions for a team discussion`](https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-team-discussion) endpoint.
*
- * List the reactions to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ * List the reactions to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `read:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
*/
get: operations["reactions/list-for-team-discussion-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reference/reactions#create-reaction-for-a-team-discussion) endpoint.
+ * Create reaction for a team discussion (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create reaction for a team discussion`](https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-team-discussion) endpoint.
*
- * Create a reaction to a [team discussion](https://docs.github.com/rest/reference/teams#discussions). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion.
+ * Create a reaction to a [team discussion](https://docs.github.com/rest/teams/discussions#get-a-discussion). OAuth access tokens require the `write:discussion` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). A response with an HTTP `200` status means that you already added the reaction type to this team discussion.
*/
post: operations["reactions/create-for-team-discussion-legacy"];
};
"/teams/{team_id}/invitations": {
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/reference/teams#list-pending-team-invitations) endpoint.
+ * List pending team invitations (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List pending team invitations`](https://docs.github.com/rest/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`.
*/
@@ -5443,7 +7052,9 @@ export interface paths {
};
"/teams/{team_id}/members": {
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/reference/teams#list-team-members) endpoint.
+ * List team members (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team members`](https://docs.github.com/rest/teams/members#list-team-members) endpoint.
*
* Team members will include the members of child teams.
*/
@@ -5451,17 +7062,21 @@ export interface paths {
};
"/teams/{team_id}/members/{username}": {
/**
- * The "Get team member" endpoint (described below) is deprecated.
+ * Get team member (Legacy)
+ * @deprecated
+ * @description The "Get team member" endpoint (described below) is deprecated.
*
- * We recommend using the [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint instead. It allows you to get both active and pending memberships.
+ * 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"];
/**
- * The "Add team member" endpoint (described below) is deprecated.
+ * Add team member (Legacy)
+ * @deprecated
+ * @description The "Add team member" endpoint (described below) is deprecated.
*
- * We recommend using the [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint instead. It allows you to invite new organization members to your teams.
+ * 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.
*
@@ -5473,9 +7088,11 @@ export interface paths {
*/
put: operations["teams/add-member-legacy"];
/**
- * The "Remove team member" endpoint (described below) is deprecated.
+ * Remove team member (Legacy)
+ * @deprecated
+ * @description The "Remove team member" endpoint (described below) is deprecated.
*
- * We recommend using the [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint instead. It allows you to remove both active and pending memberships.
+ * 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.
*
@@ -5487,7 +7104,9 @@ export interface paths {
};
"/teams/{team_id}/memberships/{username}": {
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/reference/teams#get-team-membership-for-a-user) endpoint.
+ * Get team membership for a user (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Get team membership for a user](https://docs.github.com/rest/teams/members#get-team-membership-for-a-user) endpoint.
*
* Team members will include the members of child teams.
*
@@ -5496,11 +7115,13 @@ export interface paths {
* **Note:**
* The response contains the `state` of the membership and the member's `role`.
*
- * The `role` for organization owners is set to `maintainer`. For more information about `maintainer` roles, see [Create a team](https://docs.github.com/rest/reference/teams#create-a-team).
+ * 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"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/reference/teams#add-or-update-team-membership-for-a-user) endpoint.
+ * Add or update team membership for a user (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team membership for a user](https://docs.github.com/rest/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.
*
@@ -5514,7 +7135,9 @@ export interface paths {
*/
put: operations["teams/add-or-update-membership-for-user-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/reference/teams#remove-team-membership-for-a-user) endpoint.
+ * Remove team membership for a user (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove team membership for a user](https://docs.github.com/rest/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.
*
@@ -5526,7 +7149,9 @@ export interface paths {
};
"/teams/{team_id}/projects": {
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/reference/teams#list-team-projects) endpoint.
+ * List team projects (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List team projects`](https://docs.github.com/rest/teams/teams#list-team-projects) endpoint.
*
* Lists the organization projects for a team.
*/
@@ -5534,39 +7159,53 @@ export interface paths {
};
"/teams/{team_id}/projects/{project_id}": {
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-project) endpoint.
+ * Check team permissions for a project (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a project](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project) endpoint.
*
* Checks whether a team has `read`, `write`, or `admin` permissions for an organization project. The response includes projects inherited from a parent team.
*/
get: operations["teams/check-permissions-for-project-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-project-permissions) endpoint.
+ * Add or update team project permissions (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Add or update team project permissions](https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions) endpoint.
*
* Adds an organization project to a team. To add a project to a team or update the team's permission on a project, the authenticated user must have `admin` permissions for the project. The project and team must be part of the same organization.
*/
put: operations["teams/add-or-update-project-permissions-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/reference/teams#remove-a-project-from-a-team) endpoint.
+ * Remove a project from a team (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a project from a team](https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team) endpoint.
*
* Removes an organization project from a team. An organization owner or a team maintainer can remove any project from the team. To remove a project from a team as an organization member, the authenticated user must have `read` access to both the team and project, or `admin` access to the team or project. **Note:** This endpoint removes the project from the team, but does not delete it.
*/
delete: operations["teams/remove-project-legacy"];
};
"/teams/{team_id}/repos": {
- /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/reference/teams#list-team-repositories) endpoint. */
+ /**
+ * List team repositories (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [List team repositories](https://docs.github.com/rest/teams/teams#list-team-repositories) endpoint.
+ */
get: operations["teams/list-repos-legacy"];
};
"/teams/{team_id}/repos/{owner}/{repo}": {
/**
- * **Note**: Repositories inherited through a parent team will also be checked.
+ * Check team permissions for a repository (Legacy)
+ * @deprecated
+ * @description **Note**: Repositories inherited through a parent team will also be checked.
*
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/reference/teams#check-team-permissions-for-a-repository) endpoint.
+ * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Check team permissions for a repository](https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository) endpoint.
*
* You can also get information about the specified repository, including what permissions the team grants on it, by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:
*/
get: operations["teams/check-permissions-for-repo-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/reference/teams#add-or-update-team-repository-permissions)" endpoint.
+ * Add or update team repository permissions (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new "[Add or update team repository permissions](https://docs.github.com/rest/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.
*
@@ -5574,56 +7213,64 @@ export interface paths {
*/
put: operations["teams/add-or-update-repo-permissions-legacy"];
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/reference/teams#remove-a-repository-from-a-team) endpoint.
+ * Remove a repository from a team (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [Remove a repository from a team](https://docs.github.com/rest/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"];
};
- "/teams/{team_id}/team-sync/group-mappings": {
- /**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List IdP groups for a team`](https://docs.github.com/rest/reference/teams#list-idp-groups-for-a-team) endpoint.
- *
- * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
- *
- * List IdP groups connected to a team on GitHub.
- */
- get: operations["teams/list-idp-groups-for-legacy"];
+ "/teams/{team_id}/teams": {
/**
- * **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`Create or update IdP group connections`](https://docs.github.com/rest/reference/teams#create-or-update-idp-group-connections) endpoint.
- *
- * Team synchronization is available for organizations using GitHub Enterprise Cloud. For more information, see [GitHub's products](https://docs.github.com/github/getting-started-with-github/githubs-products) in the GitHub Help documentation.
- *
- * Creates, updates, or removes a connection between a team and an IdP group. When adding groups to a team, you must include all new and existing groups to avoid replacing existing groups with the new ones. Specifying an empty `groups` array will remove all connections for a team.
+ * List child teams (Legacy)
+ * @deprecated
+ * @description **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/teams/teams#list-child-teams) endpoint.
*/
- patch: operations["teams/create-or-update-idp-group-connections-legacy"];
- };
- "/teams/{team_id}/teams": {
- /** **Deprecation Notice:** This endpoint route is deprecated and will be removed from the Teams API. We recommend migrating your existing code to use the new [`List child teams`](https://docs.github.com/rest/reference/teams#list-child-teams) endpoint. */
get: operations["teams/list-child-legacy"];
};
"/user": {
/**
- * If the authenticated user is authenticated through basic authentication or OAuth with the `user` scope, then the response lists public and private profile information.
+ * Get the authenticated user
+ * @description If the authenticated user is authenticated with an OAuth token with the `user` scope, then the response lists public and private profile information.
*
* If the authenticated user is authenticated through OAuth without the `user` scope, then the response lists only public profile information.
*/
get: operations["users/get-authenticated"];
- /** **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. */
+ /**
+ * 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"];
};
"/user/blocks": {
- /** List the users you've blocked on your personal account. */
+ /**
+ * 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"];
};
"/user/blocks/{username}": {
+ /**
+ * 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"];
+ /**
+ * Unblock a user
+ * @description Unblocks the given user and returns a 204.
+ */
delete: operations["users/unblock"];
};
"/user/codespaces": {
/**
- * Lists the authenticated user's codespaces.
+ * List codespaces for the authenticated user
+ * @description Lists the authenticated user's codespaces.
*
* You must authenticate using an access token with the `codespace` scope to use this endpoint.
*
@@ -5631,7 +7278,8 @@ export interface paths {
*/
get: operations["codespaces/list-for-authenticated-user"];
/**
- * Creates a new codespace, owned by the authenticated user.
+ * 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.
*
@@ -5643,7 +7291,8 @@ export interface paths {
};
"/user/codespaces/secrets": {
/**
- * Lists all secrets available for a user's Codespaces without revealing their
+ * List secrets for the authenticated user
+ * @description Lists all secrets available for a user's Codespaces without revealing their
* encrypted values.
*
* You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint.
@@ -5654,7 +7303,8 @@ export interface paths {
};
"/user/codespaces/secrets/public-key": {
/**
- * Gets your public key, which you need to encrypt secrets. You need to encrypt a secret before you can create or update secrets.
+ * 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.
*
* You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint.
*
@@ -5664,7 +7314,8 @@ export interface paths {
};
"/user/codespaces/secrets/{secret_name}": {
/**
- * Gets a secret available to a user's codespaces without revealing its encrypted value.
+ * Get a secret for the authenticated user
+ * @description Gets a secret available to a user's codespaces without revealing its encrypted value.
*
* You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint.
*
@@ -5672,87 +7323,18 @@ export interface paths {
*/
get: operations["codespaces/get-secret-for-authenticated-user"];
/**
- * Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using
- * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages).
+ * Create or update a secret for the authenticated user
+ * @description Creates or updates a secret for a user's codespace with an encrypted value. Encrypt your secret using
+ * [LibSodium](https://libsodium.gitbook.io/doc/bindings_for_other_languages). For more information, see "[Encrypting secrets for the REST API](https://docs.github.com/rest/guides/encrypting-secrets-for-the-rest-api)."
*
* You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must also have Codespaces access to use this endpoint.
*
- * GitHub Apps must have read access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint.
- *
- * #### Example encrypting a secret using Node.js
- *
- * Encrypt your secret using the [tweetsodium](https://github.com/github/tweetsodium) library.
- *
- * ```
- * const sodium = require('tweetsodium');
- *
- * const key = "base64-encoded-public-key";
- * const value = "plain-text-secret";
- *
- * // Convert the message and key to Uint8Array's (Buffer implements that interface)
- * const messageBytes = Buffer.from(value);
- * const keyBytes = Buffer.from(key, 'base64');
- *
- * // Encrypt using LibSodium.
- * const encryptedBytes = sodium.seal(messageBytes, keyBytes);
- *
- * // Base64 the encrypted secret
- * const encrypted = Buffer.from(encryptedBytes).toString('base64');
- *
- * console.log(encrypted);
- * ```
- *
- *
- * #### Example encrypting a secret using Python
- *
- * Encrypt your secret using [pynacl](https://pynacl.readthedocs.io/en/latest/public/#nacl-public-sealedbox) with Python 3.
- *
- * ```
- * from base64 import b64encode
- * from nacl import encoding, public
- *
- * def encrypt(public_key: str, secret_value: str) -> str:
- * """Encrypt a Unicode string using the public key."""
- * public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder())
- * sealed_box = public.SealedBox(public_key)
- * encrypted = sealed_box.encrypt(secret_value.encode("utf-8"))
- * return b64encode(encrypted).decode("utf-8")
- * ```
- *
- * #### Example encrypting a secret using C#
- *
- * Encrypt your secret using the [Sodium.Core](https://www.nuget.org/packages/Sodium.Core/) package.
- *
- * ```
- * var secretValue = System.Text.Encoding.UTF8.GetBytes("mySecret");
- * var publicKey = Convert.FromBase64String("2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvvcCU=");
- *
- * var sealedPublicKeyBox = Sodium.SealedPublicKeyBox.Create(secretValue, publicKey);
- *
- * Console.WriteLine(Convert.ToBase64String(sealedPublicKeyBox));
- * ```
- *
- * #### Example encrypting a secret using Ruby
- *
- * Encrypt your secret using the [rbnacl](https://github.com/RubyCrypto/rbnacl) gem.
- *
- * ```ruby
- * require "rbnacl"
- * require "base64"
- *
- * key = Base64.decode64("+ZYvJDZMHUfBkJdyq5Zm9SKqeuBQ4sj+6sfjlH4CgG0=")
- * public_key = RbNaCl::PublicKey.new(key)
- *
- * box = RbNaCl::Boxes::Sealed.from_public_key(public_key)
- * encrypted_secret = box.encrypt("my_secret")
- *
- * # Print the base64 encoded secret
- * puts Base64.strict_encode64(encrypted_secret)
- * ```
+ * GitHub Apps must have write access to the `codespaces_user_secrets` user permission and `codespaces_secrets` repository permission on all referenced repositories to use this endpoint.
*/
put: operations["codespaces/create-or-update-secret-for-authenticated-user"];
/**
- * Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret.
+ * Delete a secret for the authenticated user
+ * @description Deletes a secret from a user's codespaces using the secret name. Deleting the secret will remove access from all codespaces that were allowed to access the secret.
*
* You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint.
*
@@ -5762,7 +7344,8 @@ export interface paths {
};
"/user/codespaces/secrets/{secret_name}/repositories": {
/**
- * List the repositories that have been granted the ability to use a user's codespace secret.
+ * List selected repositories for a user secret
+ * @description List the repositories that have been granted the ability to use a user's codespace secret.
*
* You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint.
*
@@ -5770,7 +7353,8 @@ export interface paths {
*/
get: operations["codespaces/list-repositories-for-secret-for-authenticated-user"];
/**
- * Select the repositories that will use a user's codespace secret.
+ * Set selected repositories for a user secret
+ * @description Select the repositories that will use a user's codespace secret.
*
* You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint.
*
@@ -5780,13 +7364,15 @@ export interface paths {
};
"/user/codespaces/secrets/{secret_name}/repositories/{repository_id}": {
/**
- * Adds a repository to the selected repositories for a user's codespace secret.
+ * Add a selected repository to a user secret
+ * @description Adds a repository to the selected repositories for a user's codespace secret.
* You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint.
* GitHub Apps must have write access to the `codespaces_user_secrets` user permission and write access to the `codespaces_secrets` repository permission on the referenced repository to use this endpoint.
*/
put: operations["codespaces/add-repository-for-secret-for-authenticated-user"];
/**
- * Removes a repository from the selected repositories for a user's codespace secret.
+ * Remove a selected repository from a user secret
+ * @description Removes a repository from the selected repositories for a user's codespace secret.
* You must authenticate using an access token with the `codespace` or `codespace:secrets` scope to use this endpoint. User must have Codespaces access to use this endpoint.
* GitHub Apps must have write access to the `codespaces_user_secrets` user permission to use this endpoint.
*/
@@ -5794,7 +7380,8 @@ export interface paths {
};
"/user/codespaces/{codespace_name}": {
/**
- * Gets information about a user's codespace.
+ * Get a codespace for the authenticated user
+ * @description Gets information about a user's codespace.
*
* You must authenticate using an access token with the `codespace` scope to use this endpoint.
*
@@ -5802,7 +7389,8 @@ export interface paths {
*/
get: operations["codespaces/get-for-authenticated-user"];
/**
- * Deletes a user's codespace.
+ * Delete a codespace for the authenticated user
+ * @description Deletes a user's codespace.
*
* You must authenticate using an access token with the `codespace` scope to use this endpoint.
*
@@ -5810,7 +7398,8 @@ export interface paths {
*/
delete: operations["codespaces/delete-for-authenticated-user"];
/**
- * Updates a codespace owned by the authenticated user. Currently only the codespace's machine type and recent folders can be modified using this endpoint.
+ * 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.
*
@@ -5822,7 +7411,10 @@ export interface paths {
};
"/user/codespaces/{codespace_name}/exports": {
/**
- * Triggers an export of the specified codespace and returns a URL and ID where the status of the export can be monitored.
+ * 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.
*
* You must authenticate using a personal access token with the `codespace` scope to use this endpoint.
*
@@ -5832,7 +7424,8 @@ export interface paths {
};
"/user/codespaces/{codespace_name}/exports/{export_id}": {
/**
- * Gets information about an export of a codespace.
+ * Get details about a codespace export
+ * @description Gets information about an export of a codespace.
*
* You must authenticate using a personal access token with the `codespace` scope to use this endpoint.
*
@@ -5842,7 +7435,8 @@ export interface paths {
};
"/user/codespaces/{codespace_name}/machines": {
/**
- * List the machine types a codespace can transition to use.
+ * List machine types for a codespace
+ * @description List the machine types a codespace can transition to use.
*
* You must authenticate using an access token with the `codespace` scope to use this endpoint.
*
@@ -5850,9 +7444,25 @@ export interface paths {
*/
get: operations["codespaces/codespace-machines-for-authenticated-user"];
};
+ "/user/codespaces/{codespace_name}/publish": {
+ /**
+ * 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.
+ *
+ * You must authenticate using a personal access token with the `codespace` scope to use this endpoint.
+ *
+ * GitHub Apps must have write access to the `codespaces` repository permission to use this endpoint.
+ */
+ post: operations["codespaces/publish-for-authenticated-user"];
+ };
"/user/codespaces/{codespace_name}/start": {
/**
- * Starts a user's codespace.
+ * Start a codespace for the authenticated user
+ * @description Starts a user's codespace.
*
* You must authenticate using an access token with the `codespace` scope to use this endpoint.
*
@@ -5862,7 +7472,8 @@ export interface paths {
};
"/user/codespaces/{codespace_name}/stop": {
/**
- * Stops a user's codespace.
+ * Stop a codespace for the authenticated user
+ * @description Stops a user's codespace.
*
* You must authenticate using an access token with the `codespace` scope to use this endpoint.
*
@@ -5870,54 +7481,98 @@ export interface paths {
*/
post: operations["codespaces/stop-for-authenticated-user"];
};
+ "/user/docker/conflicts": {
+ /**
+ * 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.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` scope.
+ */
+ get: operations["packages/list-docker-migration-conflicting-packages-for-authenticated-user"];
+ };
"/user/email/visibility": {
- /** Sets the visibility for your primary email addresses. */
+ /**
+ * 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"];
};
"/user/emails": {
- /** Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope. */
+ /**
+ * List email addresses for the authenticated user
+ * @description Lists all of your email addresses, and specifies which one is visible to the public. This endpoint is accessible with the `user:email` scope.
+ */
get: operations["users/list-emails-for-authenticated-user"];
- /** This endpoint is accessible with the `user` scope. */
+ /**
+ * Add an email address for the authenticated user
+ * @description This endpoint is accessible with the `user` scope.
+ */
post: operations["users/add-email-for-authenticated-user"];
- /** This endpoint is accessible with the `user` scope. */
+ /**
+ * Delete an email address for the authenticated user
+ * @description This endpoint is accessible with the `user` scope.
+ */
delete: operations["users/delete-email-for-authenticated-user"];
};
"/user/followers": {
- /** Lists the people following the authenticated user. */
+ /**
+ * List followers of the authenticated user
+ * @description Lists the people following the authenticated user.
+ */
get: operations["users/list-followers-for-authenticated-user"];
};
"/user/following": {
- /** Lists the people who the authenticated user follows. */
+ /**
+ * List the people the authenticated user follows
+ * @description Lists the people who the authenticated user follows.
+ */
get: operations["users/list-followed-by-authenticated-user"];
};
"/user/following/{username}": {
+ /** Check if a person is followed by the authenticated user */
get: operations["users/check-person-is-followed-by-authenticated"];
/**
- * Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)."
+ * Follow a user
+ * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)."
*
* Following a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope.
*/
put: operations["users/follow"];
- /** Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope. */
+ /**
+ * Unfollow a user
+ * @description Unfollowing a user requires the user to be logged in and authenticated with basic auth or OAuth with the `user:follow` scope.
+ */
delete: operations["users/unfollow"];
};
"/user/gpg_keys": {
- /** Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */
+ /**
+ * List GPG keys for the authenticated user
+ * @description Lists the current user's GPG keys. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ */
get: operations["users/list-gpg-keys-for-authenticated-user"];
- /** Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */
+ /**
+ * Create a GPG key for the authenticated user
+ * @description Adds a GPG key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ */
post: operations["users/create-gpg-key-for-authenticated-user"];
};
"/user/gpg_keys/{gpg_key_id}": {
- /** View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */
+ /**
+ * Get a GPG key for the authenticated user
+ * @description View extended details for a single GPG key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ */
get: operations["users/get-gpg-key-for-authenticated-user"];
- /** Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */
+ /**
+ * Delete a GPG key for the authenticated user
+ * @description Removes a GPG key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:gpg_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ */
delete: operations["users/delete-gpg-key-for-authenticated-user"];
};
"/user/installations": {
/**
- * Lists installations of your GitHub App that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access.
+ * 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.
*
- * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint.
+ * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint.
*
* The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.
*
@@ -5927,11 +7582,12 @@ export interface paths {
};
"/user/installations/{installation_id}/repositories": {
/**
- * List repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access for an installation.
+ * 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.
*
- * You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint.
+ * You must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint.
*
* The access the user has to each repository is included in the hash under the `permissions` key.
*/
@@ -5939,86 +7595,136 @@ export interface paths {
};
"/user/installations/{installation_id}/repositories/{repository_id}": {
/**
- * Add a single repository to an installation. The authenticated user must have admin access to the repository.
+ * 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.
*
* You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint.
*/
put: operations["apps/add-repo-to-installation-for-authenticated-user"];
/**
- * Remove a single repository from an installation. The authenticated user must have admin access to the repository.
+ * 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`.
*
* You must use a personal access token (which you can create via the [command line](https://docs.github.com/github/authenticating-to-github/creating-a-personal-access-token) or [Basic Authentication](https://docs.github.com/rest/overview/other-authentication-methods#basic-authentication)) to access this endpoint.
*/
delete: operations["apps/remove-repo-from-installation-for-authenticated-user"];
};
"/user/interaction-limits": {
- /** Shows which type of GitHub user can interact with your public repositories and when the restriction expires. */
+ /**
+ * Get 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"];
- /** 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. */
+ /**
+ * 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"];
- /** Removes any interaction restrictions from your public repositories. */
+ /**
+ * Remove interaction restrictions from your public repositories
+ * @description Removes any interaction restrictions from your public repositories.
+ */
delete: operations["interactions/remove-restrictions-for-authenticated-user"];
};
"/user/issues": {
/**
- * List issues across owned and member repositories assigned to the authenticated user.
+ * 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 v3 considers every pull request an issue, but not every issue is a pull request. For this
+ * **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/reference/pulls#list-pull-requests)" endpoint.
+ * request id, use the "[List pull requests](https://docs.github.com/rest/pulls/pulls#list-pull-requests)" endpoint.
*/
get: operations["issues/list-for-authenticated-user"];
};
"/user/keys": {
- /** Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */
+ /**
+ * List public SSH keys for the authenticated user
+ * @description Lists the public SSH keys for the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ */
get: operations["users/list-public-ssh-keys-for-authenticated-user"];
- /** Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */
+ /**
+ * Create a public SSH key for the authenticated user
+ * @description Adds a public SSH key to the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth, or OAuth with at least `write:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ */
post: operations["users/create-public-ssh-key-for-authenticated-user"];
};
"/user/keys/{key_id}": {
- /** View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */
+ /**
+ * Get a public SSH key for the authenticated user
+ * @description View extended details for a single public SSH key. Requires that you are authenticated via Basic Auth or via OAuth with at least `read:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ */
get: operations["users/get-public-ssh-key-for-authenticated-user"];
- /** Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/). */
+ /**
+ * Delete a public SSH key for the authenticated user
+ * @description Removes a public SSH key from the authenticated user's GitHub account. Requires that you are authenticated via Basic Auth or via OAuth with at least `admin:public_key` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).
+ */
delete: operations["users/delete-public-ssh-key-for-authenticated-user"];
};
"/user/marketplace_purchases": {
- /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */
+ /**
+ * List subscriptions for the authenticated user
+ * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps).
+ */
get: operations["apps/list-subscriptions-for-authenticated-user"];
};
"/user/marketplace_purchases/stubbed": {
- /** Lists the active subscriptions for the authenticated user. You must use a [user-to-server OAuth access token](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/#identifying-users-on-your-site), created for a user who has authorized your GitHub App, to access this endpoint. . OAuth Apps must authenticate using an [OAuth token](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/). */
+ /**
+ * List subscriptions for the authenticated user (stubbed)
+ * @description Lists the active subscriptions for the authenticated user. GitHub Apps must use a [user access token](https://docs.github.com/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app), created for a user who has authorized your GitHub App, to access this endpoint. OAuth apps must authenticate using an [OAuth token](https://docs.github.com/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps).
+ */
get: operations["apps/list-subscriptions-for-authenticated-user-stubbed"];
};
"/user/memberships/orgs": {
+ /**
+ * 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"];
};
"/user/memberships/orgs/{org}": {
+ /**
+ * 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"];
+ /**
+ * 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"];
};
"/user/migrations": {
- /** Lists all migrations a user has started. */
+ /**
+ * List user migrations
+ * @description Lists all migrations a user has started.
+ */
get: operations["migrations/list-for-authenticated-user"];
- /** Initiates the generation of a user migration archive. */
+ /**
+ * Start a user migration
+ * @description Initiates the generation of a user migration archive.
+ */
post: operations["migrations/start-for-authenticated-user"];
};
"/user/migrations/{migration_id}": {
/**
- * Fetches a single user migration. The response includes the `state` of the migration, which can be one of the following values:
+ * 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/reference/migrations#download-a-user-migration-archive).
+ * 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"];
};
"/user/migrations/{migration_id}/archive": {
/**
- * Fetches the URL to download the migration archive as a `tar.gz` file. Depending on the resources your repository uses, the migration archive can contain JSON files with data for these objects:
+ * 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
@@ -6041,20 +7747,30 @@ export interface paths {
* The archive will also contain an `attachments` directory that includes all attachment files uploaded to GitHub.com and a `repositories` directory that contains the repository's Git data.
*/
get: operations["migrations/get-archive-for-authenticated-user"];
- /** Deletes a previous migration archive. Downloadable migration archives are automatically deleted after seven days. Migration metadata, which is returned in the [List user migrations](https://docs.github.com/rest/reference/migrations#list-user-migrations) and [Get a user migration status](https://docs.github.com/rest/reference/migrations#get-a-user-migration-status) endpoints, will continue to be available even after an archive is deleted. */
+ /**
+ * Delete 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"];
};
"/user/migrations/{migration_id}/repos/{repo_name}/lock": {
- /** Unlocks a repository. You can lock repositories when you [start a user migration](https://docs.github.com/rest/reference/migrations#start-a-user-migration). Once the migration is complete you can unlock each repository to begin using it again or [delete the repository](https://docs.github.com/rest/reference/repos#delete-a-repository) if you no longer need the source data. Returns a status of `404 Not Found` if the repository is not locked. */
+ /**
+ * 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"];
};
"/user/migrations/{migration_id}/repositories": {
- /** Lists all the repositories for this user migration. */
+ /**
+ * List repositories for a user migration
+ * @description Lists all the repositories for this user migration.
+ */
get: operations["migrations/list-repos-for-authenticated-user"];
};
"/user/orgs": {
/**
- * List organizations for the authenticated user.
+ * List organizations for the authenticated user
+ * @description List organizations for the authenticated user.
*
* **OAuth scope requirements**
*
@@ -6064,95 +7780,107 @@ export interface paths {
};
"/user/packages": {
/**
- * Lists packages owned by the authenticated user within the user's namespace.
+ * List packages for the authenticated user's namespace
+ * @description Lists packages owned by the authenticated user within the user's namespace.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.
- * If `package_type` is not `container`, your token must also include the `repo` scope.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
};
"/user/packages/{package_type}/{package_name}": {
/**
- * Gets a specific package for a package owned by the authenticated user.
+ * Get a package for the authenticated user
+ * @description Gets a specific package for a package owned by the authenticated user.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.
- * If `package_type` is not `container`, your token must also include the `repo` scope.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
/**
- * 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.
+ * 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.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes.
- * If `package_type` is not `container`, your token must also include the `repo` scope.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes.
+ * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
};
"/user/packages/{package_type}/{package_name}/restore": {
/**
- * Restores a package owned by the authenticated user.
+ * 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.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
};
"/user/packages/{package_type}/{package_name}/versions": {
/**
- * Returns all package versions for a package owned by the authenticated user.
+ * List package versions for a package owned by the authenticated user
+ * @description Lists package versions for a package owned by the authenticated user.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.
- * If `package_type` is not `container`, your token must also include the `repo` scope.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
};
"/user/packages/{package_type}/{package_name}/versions/{package_version_id}": {
/**
- * Gets a specific package version for a package owned by the authenticated user.
+ * Get a package version for the authenticated user
+ * @description Gets a specific package version for a package owned by the authenticated user.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.
- * If `package_type` is not `container`, your token must also include the `repo` scope.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
/**
- * 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.
+ * 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.
*
- * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `packages:read` and `packages:delete` scopes.
- * If `package_type` is not `container`, your token must also include the `repo` scope.
+ * To use this endpoint, you must have admin permissions in the organization and authenticate using an access token with the `read:packages` and `delete:packages` scopes.
+ * If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
};
"/user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": {
/**
- * Restores a package version owned by the authenticated user.
+ * 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.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. If `package_type` is not `container`, your token must also include the `repo` scope.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
};
"/user/projects": {
- /** Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned. */
+ /**
+ * Create a user project
+ * @description Creates a user project board. Returns a `410 Gone` status if the user does not have existing classic projects. If you do not have sufficient privileges to perform this action, a `401 Unauthorized` or `410 Gone` status is returned.
+ */
post: operations["projects/create-for-authenticated-user"];
};
"/user/public_emails": {
- /** Lists your publicly visible email address, which you can set with the [Set primary email visibility for the authenticated user](https://docs.github.com/rest/reference/users#set-primary-email-visibility-for-the-authenticated-user) endpoint. This endpoint is accessible with the `user:email` scope. */
+ /**
+ * 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. This endpoint is accessible with the `user:email` scope.
+ */
get: operations["users/list-public-emails-for-authenticated-user"];
};
"/user/repos": {
/**
- * Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access.
+ * 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"];
/**
- * Creates a new repository for the authenticated user.
+ * Create a repository for the authenticated user
+ * @description Creates a new repository for the authenticated user.
*
* **OAuth scope requirements**
*
@@ -6164,88 +7892,183 @@ export interface paths {
post: operations["repos/create-for-authenticated-user"];
};
"/user/repository_invitations": {
- /** When authenticating as a user, this endpoint will list all currently open repository invitations for that user. */
+ /**
+ * 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"];
};
"/user/repository_invitations/{invitation_id}": {
+ /** Decline a repository invitation */
delete: operations["repos/decline-invitation-for-authenticated-user"];
+ /** Accept a repository invitation */
patch: operations["repos/accept-invitation-for-authenticated-user"];
};
+ "/user/social_accounts": {
+ /**
+ * List social accounts for the authenticated user
+ * @description Lists all of your social accounts.
+ */
+ get: operations["users/list-social-accounts-for-authenticated-user"];
+ /**
+ * Add social accounts for the authenticated user
+ * @description Add one or more social accounts to the authenticated user's profile. This endpoint is accessible with the `user` scope.
+ */
+ 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. This endpoint is accessible with the `user` scope.
+ */
+ delete: operations["users/delete-social-account-for-authenticated-user"];
+ };
+ "/user/ssh_signing_keys": {
+ /**
+ * List SSH signing keys for the authenticated user
+ * @description Lists the SSH signing keys for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)."
+ */
+ get: operations["users/list-ssh-signing-keys-for-authenticated-user"];
+ /**
+ * Create a SSH signing key for the authenticated user
+ * @description Creates an SSH signing key for the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `write:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)."
+ */
+ post: operations["users/create-ssh-signing-key-for-authenticated-user"];
+ };
+ "/user/ssh_signing_keys/{ssh_signing_key_id}": {
+ /**
+ * Get an SSH signing key for the authenticated user
+ * @description Gets extended details for an SSH signing key. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `read:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)."
+ */
+ get: operations["users/get-ssh-signing-key-for-authenticated-user"];
+ /**
+ * Delete an SSH signing key for the authenticated user
+ * @description Deletes an SSH signing key from the authenticated user's GitHub account. You must authenticate with Basic Authentication, or you must authenticate with OAuth with at least `admin:ssh_signing_key` scope. For more information, see "[Understanding scopes for OAuth apps](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)."
+ */
+ delete: operations["users/delete-ssh-signing-key-for-authenticated-user"];
+ };
"/user/starred": {
/**
- * Lists repositories the authenticated user has starred.
+ * List repositories starred by the authenticated user
+ * @description Lists repositories the authenticated user has starred.
*
- * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:
+ * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`.
*/
get: operations["activity/list-repos-starred-by-authenticated-user"];
};
"/user/starred/{owner}/{repo}": {
+ /**
+ * 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"];
- /** Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)." */
+ /**
+ * Star a repository for the authenticated user
+ * @description Note that you'll need to set `Content-Length` to zero when calling out to this endpoint. For more information, see "[HTTP verbs](https://docs.github.com/rest/overview/resources-in-the-rest-api#http-verbs)."
+ */
put: operations["activity/star-repo-for-authenticated-user"];
+ /**
+ * 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"];
};
"/user/subscriptions": {
- /** Lists repositories the authenticated user is watching. */
+ /**
+ * List repositories watched by the authenticated user
+ * @description Lists repositories the authenticated user is watching.
+ */
get: operations["activity/list-watched-repos-for-authenticated-user"];
};
"/user/teams": {
- /** List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). */
+ /**
+ * List teams for the authenticated user
+ * @description List all of the teams across all of the organizations to which the authenticated user belongs. This method requires `user`, `repo`, or `read:org` [scope](https://docs.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) when authenticating via [OAuth](https://docs.github.com/apps/building-oauth-apps/). When using a fine-grained personal access token, the resource owner of the token [must be a single organization](https://docs.github.com/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token#fine-grained-personal-access-tokens), and have at least read-only member organization permissions. The response payload only contains the teams from a single organization when using a fine-grained personal access token.
+ */
get: operations["teams/list-for-authenticated-user"];
};
"/users": {
/**
- * Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts.
+ * 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/overview/resources-in-the-rest-api#link-header) to get the URL for the next page of users.
+ * 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"];
};
"/users/{username}": {
/**
- * Provides publicly available information about someone with a GitHub account.
+ * Get a user
+ * @description Provides publicly available information about someone with a GitHub account.
*
* GitHub Apps with the `Plan` user permission can use this endpoint to retrieve information about a user's GitHub plan. The GitHub App must be authenticated as a user. See "[Identifying and authorizing users for GitHub Apps](https://docs.github.com/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps/)" for details about authentication. For an example response, see 'Response with GitHub plan information' below"
*
* The `email` key in the following response is the publicly visible email address from your GitHub [profile page](https://github.com/settings/profile). When setting up your profile, you can select a primary email address to be “public” which provides an email entry for this endpoint. If you do not set a public email address for `email`, then it will have a value of `null`. You only see publicly visible email addresses when authenticated with GitHub. For more information, see [Authentication](https://docs.github.com/rest/overview/resources-in-the-rest-api#authentication).
*
- * The Emails API enables you to list all of your email addresses, and toggle a primary email to be visible publicly. For more information, see "[Emails API](https://docs.github.com/rest/reference/users#emails)".
+ * 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"];
};
+ "/users/{username}/docker/conflicts": {
+ /**
+ * 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.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` scope.
+ */
+ get: operations["packages/list-docker-migration-conflicting-packages-for-user"];
+ };
"/users/{username}/events": {
- /** If you are authenticated as the given user, you will see your private events. Otherwise, you'll only see public events. */
+ /**
+ * 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.
+ */
get: operations["activity/list-events-for-authenticated-user"];
};
"/users/{username}/events/orgs/{org}": {
- /** This is the user's organization dashboard. You must be authenticated as the user to view this. */
+ /**
+ * 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.
+ */
get: operations["activity/list-org-events-for-authenticated-user"];
};
"/users/{username}/events/public": {
+ /** List public events for a user */
get: operations["activity/list-public-events-for-user"];
};
"/users/{username}/followers": {
- /** Lists the people following the specified user. */
+ /**
+ * List followers of a user
+ * @description Lists the people following the specified user.
+ */
get: operations["users/list-followers-for-user"];
};
"/users/{username}/following": {
- /** Lists the people who the specified user follows. */
+ /**
+ * List the people a user follows
+ * @description Lists the people who the specified user follows.
+ */
get: operations["users/list-following-for-user"];
};
"/users/{username}/following/{target_user}": {
+ /** Check if a user follows another user */
get: operations["users/check-following-for-user"];
};
"/users/{username}/gists": {
- /** Lists public gists for the specified user: */
+ /**
+ * List gists for a user
+ * @description Lists public gists for the specified user:
+ */
get: operations["gists/list-for-user"];
};
"/users/{username}/gpg_keys": {
- /** Lists the GPG keys for a user. This information is accessible by anyone. */
+ /**
+ * 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"];
};
"/users/{username}/hovercard": {
/**
- * Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations.
+ * Get contextual information for a user
+ * @description Provides hovercard information when authenticated through basic auth or OAuth with the `repo` scope. You can find out more about someone in relation to their pull requests, issues, repositories, and organizations.
*
* The `subject_type` and `subject_id` parameters provide context for the person's hovercard, which returns more information than without the parameters. For example, if you wanted to find out more about `octocat` who owns the `Spoon-Knife` repository via cURL, it would look like this:
*
@@ -6258,121 +8081,142 @@ export interface paths {
};
"/users/{username}/installation": {
/**
- * Enables an authenticated GitHub App to find the user’s installation information.
+ * 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"];
};
"/users/{username}/keys": {
- /** Lists the _verified_ public SSH keys for a user. This is accessible by anyone. */
+ /**
+ * 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"];
};
"/users/{username}/orgs": {
/**
- * List [public organization memberships](https://docs.github.com/articles/publicizing-or-concealing-organization-membership) for the specified user.
+ * 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/reference/orgs#list-organizations-for-the-authenticated-user) API instead.
+ * 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"];
};
"/users/{username}/packages": {
/**
- * Lists all packages in a user's namespace for which the requesting user has access.
+ * List packages for a user
+ * @description Lists all packages in a user's namespace for which the requesting user has access.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.
- * If `package_type` is not `container`, your token must also include the `repo` scope.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
};
"/users/{username}/packages/{package_type}/{package_name}": {
/**
- * Gets a specific package metadata for a public package owned by a user.
+ * Get a package for a user
+ * @description Gets a specific package metadata for a public package owned by a user.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.
- * If `package_type` is not `container`, your token must also include the `repo` scope.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
/**
- * 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.
+ * 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.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition:
- * - If `package_type` is not `container`, your token must also include the `repo` scope.
- * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition:
+ * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. 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#permissions-for-repository-scoped-packages)."
+ * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to delete. 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)."
*/
delete: operations["packages/delete-package-for-user"];
};
"/users/{username}/packages/{package_type}/{package_name}/restore": {
/**
- * Restores an entire package for a user.
+ * 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.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition:
- * - If `package_type` is not `container`, your token must also include the `repo` scope.
- * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition:
+ * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. 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#permissions-for-repository-scoped-packages)."
+ * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package you want to restore. 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)."
*/
post: operations["packages/restore-package-for-user"];
};
"/users/{username}/packages/{package_type}/{package_name}/versions": {
/**
- * Returns all package versions for a public package owned by a specified user.
+ * List package versions for a package owned by a user
+ * @description Lists package versions for a public package owned by a specified user.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` scope.
- * If `package_type` is not `container`, your token must also include the `repo` scope.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
};
"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}": {
/**
- * Gets a specific package version for a public package owned by a specified user.
+ * Get a package version for a user
+ * @description Gets a specific package version for a public package owned by a specified user.
*
- * At this time, to use this endpoint, you must authenticate using an access token with the `packages:read` scope.
- * If `package_type` is not `container`, your token must also include the `repo` scope.
+ * At this time, to use this endpoint, you must authenticate using an access token with the `read:packages` scope. If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. For the list of GitHub Packages registries that only support repository-scoped permissions, 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"];
/**
- * 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.
+ * 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.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:delete` scopes. In addition:
- * - If `package_type` is not `container`, your token must also include the `repo` scope.
- * - If `package_type` is `container`, you must also have admin permissions to the container you want to delete.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` and `delete:packages` scopes. In addition:
+ * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. 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#permissions-for-repository-scoped-packages)."
+ * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to delete. 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)."
*/
delete: operations["packages/delete-package-version-for-user"];
};
"/users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore": {
/**
- * Restores a specific package version for a user.
+ * 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.
*
- * To use this endpoint, you must authenticate using an access token with the `packages:read` and `packages:write` scopes. In addition:
- * - If `package_type` is not `container`, your token must also include the `repo` scope.
- * - If `package_type` is `container`, you must also have admin permissions to the container that you want to restore.
+ * To use this endpoint, you must authenticate using an access token with the `read:packages` and `write:packages` scopes. In addition:
+ * - If the `package_type` belongs to a GitHub Packages registry that only supports repository-scoped permissions, your token must also include the `repo` scope. 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#permissions-for-repository-scoped-packages)."
+ * - If the `package_type` belongs to a GitHub Packages registry that supports granular permissions, you must have admin permissions to the package whose version you want to restore. 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)."
*/
post: operations["packages/restore-package-version-for-user"];
};
"/users/{username}/projects": {
+ /**
+ * List user projects
+ * @description Lists projects for a user.
+ */
get: operations["projects/list-for-user"];
};
"/users/{username}/received_events": {
- /** These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events. */
+ /**
+ * List events received by the authenticated user
+ * @description These are events that you've received by watching repos and following users. If you are authenticated as the given user, you will see private events. Otherwise, you'll only see public events.
+ */
get: operations["activity/list-received-events-for-user"];
};
"/users/{username}/received_events/public": {
+ /** List public events received by a user */
get: operations["activity/list-received-public-events-for-user"];
};
"/users/{username}/repos": {
- /** Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user. */
+ /**
+ * List repositories for a user
+ * @description Lists public repositories for the specified user. Note: For GitHub AE, this endpoint will list internal repositories for the specified user.
+ */
get: operations["repos/list-for-user"];
};
"/users/{username}/settings/billing/actions": {
/**
- * Gets the summary of the free and paid GitHub Actions minutes used.
+ * 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)".
*
@@ -6382,7 +8226,8 @@ export interface paths {
};
"/users/{username}/settings/billing/packages": {
/**
- * Gets the free and paid storage used for GitHub Packages in gigabytes.
+ * 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)."
*
@@ -6392,7 +8237,8 @@ export interface paths {
};
"/users/{username}/settings/billing/shared-storage": {
/**
- * Gets the estimated paid and estimated total storage used for GitHub Actions and GitHub Packages.
+ * 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)."
*
@@ -6400,25 +8246,54 @@ export interface paths {
*/
get: operations["billing/get-shared-storage-billing-user"];
};
+ "/users/{username}/social_accounts": {
+ /**
+ * 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"];
+ };
+ "/users/{username}/ssh_signing_keys": {
+ /**
+ * 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"];
+ };
"/users/{username}/starred": {
/**
- * Lists repositories a user has starred.
+ * List repositories starred by a user
+ * @description Lists repositories a user has starred.
*
- * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header:
+ * You can also find out _when_ stars were created by passing the following custom [media type](https://docs.github.com/rest/overview/media-types/) via the `Accept` header: `application/vnd.github.star+json`.
*/
get: operations["activity/list-repos-starred-by-user"];
};
"/users/{username}/subscriptions": {
- /** Lists repositories a user is watching. */
+ /**
+ * List repositories watched by a user
+ * @description Lists repositories a user is watching.
+ */
get: operations["activity/list-repos-watched-by-user"];
};
+ "/versions": {
+ /**
+ * Get all API versions
+ * @description Get all supported GitHub API versions.
+ */
+ get: operations["meta/get-all-versions"];
+ };
"/zen": {
- /** Get a random sentence from the Zen of GitHub */
+ /**
+ * Get the Zen of GitHub
+ * @description Get a random sentence from the Zen of GitHub
+ */
get: operations["meta/get-zen"];
};
"/repos/{owner}/{repo}/compare/{base}...{head}": {
/**
- * **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`.
+ * Compare two commits
+ * @description **Deprecated**: Use `repos.compareCommitsWithBasehead()` (`GET /repos/{owner}/{repo}/compare/{basehead}`) instead. Both `:base` and `:head` must be branch names in `:repo`. To compare branches across other repositories in the same network as `:repo`, use the format `:branch`.
*
* The response from the API is equivalent to running the `git log base..head` command; however, commits are returned in chronological order. Pass the appropriate [media type](https://docs.github.com/rest/overview/media-types/#commits-commit-comparison-and-pull-requests) to fetch diff and patch formats.
*
@@ -6463,6 +8338,8 @@ export interface paths {
};
}
+export type webhooks = Record;
+
export interface components {
schemas: {
root: {
@@ -6533,9 +8410,244 @@ export interface components {
/** 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";
+ /**
+ * Simple User
+ * @description A GitHub user.
+ */
+ "simple-user": {
+ name?: string | null;
+ email?: string | null;
+ /** @example octocat */
+ login: string;
+ /** @example 1 */
+ id: number;
+ /** @example MDQ6VXNlcjE= */
+ node_id: string;
+ /**
+ * Format: uri
+ * @example https://github.com/images/error/octocat_happy.gif
+ */
+ avatar_url: string;
+ /** @example 41d064eb2195891e12d0413f63227ea7 */
+ gravatar_id: string | null;
+ /**
+ * Format: uri
+ * @example https://api.github.com/users/octocat
+ */
+ url: string;
+ /**
+ * Format: uri
+ * @example https://github.com/octocat
+ */
+ html_url: string;
+ /**
+ * Format: uri
+ * @example https://api.github.com/users/octocat/followers
+ */
+ followers_url: string;
+ /** @example https://api.github.com/users/octocat/following{/other_user} */
+ following_url: string;
+ /** @example https://api.github.com/users/octocat/gists{/gist_id} */
+ gists_url: string;
+ /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */
+ starred_url: string;
+ /**
+ * Format: uri
+ * @example https://api.github.com/users/octocat/subscriptions
+ */
+ subscriptions_url: string;
+ /**
+ * Format: uri
+ * @example https://api.github.com/users/octocat/orgs
+ */
+ organizations_url: string;
+ /**
+ * Format: uri
+ * @example https://api.github.com/users/octocat/repos
+ */
+ repos_url: string;
+ /** @example https://api.github.com/users/octocat/events{/privacy} */
+ events_url: string;
+ /**
+ * Format: uri
+ * @example https://api.github.com/users/octocat/received_events
+ */
+ received_events_url: string;
+ /** @example User */
+ type: string;
+ site_admin: boolean;
+ /** @example "2020-07-09T00:17:55Z" */
+ starred_at?: string;
+ };
+ /**
+ * @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. */
+ ghsa_id: string;
+ /** @description The Common Vulnerabilities and Exposures (CVE) ID. */
+ cve_id: string | null;
+ /** @description The API URL for the advisory. */
+ url: string;
+ /**
+ * Format: uri
+ * @description The URL for the advisory.
+ */
+ html_url: string;
+ /**
+ * Format: uri
+ * @description The API URL for the repository advisory.
+ */
+ 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}
+ */
+ 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;
+ identifiers:
+ | readonly {
+ /**
+ * @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.
+ */
+ published_at: string;
+ /**
+ * Format: date-time
+ * @description The date and time of when the advisory was last updated, in ISO 8601 format.
+ */
+ updated_at: string;
+ /**
+ * Format: date-time
+ * @description The date and time of when the advisory was reviewed by GitHub, in ISO 8601 format.
+ */
+ 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.
+ */
+ nvd_published_at: string | null;
+ /**
+ * Format: date-time
+ * @description The date and time of when the advisory was withdrawn, in ISO 8601 format.
+ */
+ withdrawn_at: string | null;
+ /** @description The products and respective version ranges affected by the 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;
+ } | null;
+ /** @description The range of the package versions affected by the vulnerability. */
+ vulnerable_version_range: string | null;
+ /** @description The package version that resolve the vulnerability. */
+ first_patched_version: string | null;
+ /** @description The functions in the package that are affected by the vulnerability. */
+ vulnerable_functions: readonly string[] | null;
+ }[]
+ | null;
+ cvss: {
+ /** @description The CVSS vector. */
+ vector_string: string | null;
+ /** @description The CVSS score. */
+ score: number | null;
+ } | null;
+ cwes:
+ | {
+ /** @description The Common Weakness Enumeration (CWE) identifier. */
+ cwe_id: string;
+ /** @description The name of the CWE. */
+ name: string;
+ }[]
+ | null;
+ /** @description The users who contributed to the advisory. */
+ credits:
+ | readonly {
+ 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[];
+ };
/**
* Simple User
- * @description Simple User
+ * @description A GitHub user.
*/
"nullable-simple-user": {
name?: string | null;
@@ -6660,7 +8772,8 @@ export interface components {
metadata?: string;
contents?: string;
deployments?: string;
- } & { [key: string]: string };
+ [key: string]: string | undefined;
+ };
/**
* @description The list of events for the GitHub app
* @example [
@@ -6683,25 +8796,6 @@ export interface components {
/** @example "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n" */
pem?: string;
};
- /**
- * Basic Error
- * @description Basic Error
- */
- "basic-error": {
- message?: string;
- documentation_url?: string;
- url?: string;
- status?: string;
- };
- /**
- * Validation Error Simple
- * @description Validation Error Simple
- */
- "validation-error-simple": {
- message: string;
- documentation_url: string;
- errors?: string[];
- };
/**
* Format: uri
* @description The URL to which the payloads will be delivered.
@@ -6887,89 +8981,26 @@ export interface components {
url?: string;
request: {
/** @description The request headers sent with the webhook delivery. */
- headers: { [key: string]: unknown } | null;
+ headers: {
+ [key: string]: unknown;
+ } | null;
/** @description The webhook payload. */
- payload: { [key: string]: unknown } | null;
+ payload: {
+ [key: string]: unknown;
+ } | null;
};
response: {
/** @description The response headers received when the delivery was made. */
- headers: { [key: string]: unknown } | null;
+ headers: {
+ [key: string]: unknown;
+ } | null;
/** @description The response payload received. */
payload: string | null;
};
};
- /**
- * Simple User
- * @description Simple User
- */
- "simple-user": {
- name?: string | null;
- email?: string | null;
- /** @example octocat */
- login: string;
- /** @example 1 */
- id: number;
- /** @example MDQ6VXNlcjE= */
- node_id: string;
- /**
- * Format: uri
- * @example https://github.com/images/error/octocat_happy.gif
- */
- avatar_url: string;
- /** @example 41d064eb2195891e12d0413f63227ea7 */
- gravatar_id: string | null;
- /**
- * Format: uri
- * @example https://api.github.com/users/octocat
- */
- url: string;
- /**
- * Format: uri
- * @example https://github.com/octocat
- */
- html_url: string;
- /**
- * Format: uri
- * @example https://api.github.com/users/octocat/followers
- */
- followers_url: string;
- /** @example https://api.github.com/users/octocat/following{/other_user} */
- following_url: string;
- /** @example https://api.github.com/users/octocat/gists{/gist_id} */
- gists_url: string;
- /** @example https://api.github.com/users/octocat/starred{/owner}{/repo} */
- starred_url: string;
- /**
- * Format: uri
- * @example https://api.github.com/users/octocat/subscriptions
- */
- subscriptions_url: string;
- /**
- * Format: uri
- * @example https://api.github.com/users/octocat/orgs
- */
- organizations_url: string;
- /**
- * Format: uri
- * @example https://api.github.com/users/octocat/repos
- */
- repos_url: string;
- /** @example https://api.github.com/users/octocat/events{/privacy} */
- events_url: string;
- /**
- * Format: uri
- * @example https://api.github.com/users/octocat/received_events
- */
- received_events_url: string;
- /** @example User */
- type: string;
- site_admin: boolean;
- /** @example "2020-07-09T00:17:55Z" */
- starred_at?: string;
- };
/**
* Enterprise
- * @description An enterprise account
+ * @description An enterprise on GitHub.
*/
enterprise: {
/** @description A short description of the enterprise. */
@@ -7014,9 +9045,31 @@ export interface components {
/** Format: uri */
avatar_url: string;
};
+ /**
+ * 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-to-server access token.
+ * @description The permissions granted to the user access token.
* @example {
* "contents": "read",
* "issues": "read",
@@ -7135,11 +9188,36 @@ export interface components {
* @enum {string}
*/
organization_administration?: "read" | "write";
+ /**
+ * @description The level of permission to grant the access token for custom repository roles management. This property is in beta and is subject to change.
+ * @enum {string}
+ */
+ organization_custom_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 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 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}
@@ -7187,8 +9265,10 @@ export interface components {
*/
id: number;
account:
- | (Partial &
- Partial)
+ | (
+ | components["schemas"]["simple-user"]
+ | components["schemas"]["enterprise"]
+ )
| null;
/**
* @description Describe whether all repositories have been selected or there's a selection involved
@@ -7197,7 +9277,7 @@ export interface components {
repository_selection: "all" | "selected";
/**
* Format: uri
- * @example https://api.github.com/installations/1/access_tokens
+ * @example https://api.github.com/app/installations/1/access_tokens
*/
access_tokens_url: string;
/**
@@ -7264,7 +9344,7 @@ export interface components {
} | null;
/**
* Repository
- * @description A git repository
+ * @description A repository on GitHub.
*/
repository: {
/**
@@ -7449,7 +9529,10 @@ export interface components {
stargazers_count: number;
/** @example 80 */
watchers_count: number;
- /** @example 108 */
+ /**
+ * @description The size of the repository. 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.
@@ -7485,11 +9568,18 @@ export interface components {
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
@@ -7629,6 +9719,40 @@ export interface components {
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;
@@ -7659,10 +9783,45 @@ export interface components {
*/
allow_update_branch?: boolean;
/**
- * @description Whether a squash merge commit can use the pull request title as default.
+ * @deprecated
+ * @description Whether a squash merge commit can use the pull request title as default. **This property has been deprecated. 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
@@ -7671,6 +9830,11 @@ export interface components {
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;
@@ -7678,6 +9842,8 @@ export interface components {
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;
};
/**
* Installation Token
@@ -7702,42 +9868,6 @@ export interface components {
*/
single_file_paths?: string[];
};
- /**
- * Application Grant
- * @description The authorization associated with an OAuth Access.
- */
- "application-grant": {
- /** @example 1 */
- id: number;
- /**
- * Format: uri
- * @example https://api.github.com/applications/grants/1
- */
- url: string;
- app: {
- client_id: string;
- name: string;
- /** Format: uri */
- url: string;
- };
- /**
- * Format: date-time
- * @example 2011-09-06T17:26:27Z
- */
- created_at: string;
- /**
- * Format: date-time
- * @example 2011-09-06T20:39:23Z
- */
- updated_at: string;
- /**
- * @example [
- * "public_repo"
- * ]
- */
- scopes: string[];
- user?: components["schemas"]["nullable-simple-user"];
- };
/** Scoped Installation */
"nullable-scoped-installation": {
permissions: components["schemas"]["app-permissions"];
@@ -7796,6 +9926,385 @@ export interface components {
/** 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
@@ -7864,474 +10373,134 @@ export interface components {
/** Format: uri */
html_url: string | null;
};
- /**
- * Server Statistics Proxy Endpoint
- * @description Response of S4 Proxy endpoint that provides GHES statistics
- */
- "server-statistics": {
- server_id?: string;
- collection_date?: string;
- schema_version?: string;
- ghes_version?: string;
- host_name?: string;
- github_connect?: {
- features_enabled?: string[];
- };
- ghe_stats?: {
- comments?: {
- total_commit_comments?: number;
- total_gist_comments?: number;
- total_issue_comments?: number;
- total_pull_request_comments?: number;
- };
- gists?: {
- total_gists?: number;
- private_gists?: number;
- public_gists?: number;
- };
- hooks?: {
- total_hooks?: number;
- active_hooks?: number;
- inactive_hooks?: number;
- };
- issues?: {
- total_issues?: number;
- open_issues?: number;
- closed_issues?: number;
- };
- milestones?: {
- total_milestones?: number;
- open_milestones?: number;
- closed_milestones?: number;
- };
- orgs?: {
- total_orgs?: number;
- disabled_orgs?: number;
- total_teams?: number;
- total_team_members?: number;
- };
- pages?: {
- total_pages?: number;
- };
- pulls?: {
- total_pulls?: number;
- merged_pulls?: number;
- mergeable_pulls?: number;
- unmergeable_pulls?: number;
- };
- repos?: {
- total_repos?: number;
- root_repos?: number;
- fork_repos?: number;
- org_repos?: number;
- total_pushes?: number;
- total_wikis?: number;
- };
- users?: {
- total_users?: number;
- admin_users?: number;
- suspended_users?: number;
- };
- };
- dormant_users?: {
- total_dormant_users?: number;
- dormancy_threshold?: string;
- };
- };
- "actions-cache-usage-org-enterprise": {
- /** @description The count of active caches across all repositories of an enterprise or an organization. */
- total_active_caches_count: number;
- /** @description The total size in bytes of all active cache items across all repositories of an enterprise or an organization. */
- total_active_caches_size_in_bytes: number;
- };
- "actions-oidc-custom-issuer-policy-for-enterprise": {
- /**
- * @description Whether the enterprise customer requested a custom issuer URL.
- * @example true
- */
- include_enterprise_slug?: boolean;
- };
- /**
- * @description The policy that controls the organizations in the enterprise that are allowed to run GitHub Actions.
- * @enum {string}
- */
- "enabled-organizations": "all" | "none" | "selected";
- /**
- * @description The permissions policy that controls the actions and reusable workflows that are allowed to run.
- * @enum {string}
- */
- "allowed-actions": "all" | "local_only" | "selected";
- /** @description The API URL to use to get or set the actions and reusable workflows that are allowed to run, when `allowed_actions` is set to `selected`. */
- "selected-actions-url": string;
- "actions-enterprise-permissions": {
- enabled_organizations: components["schemas"]["enabled-organizations"];
- /** @description The API URL to use to get or set the selected organizations that are allowed to run GitHub Actions, when `enabled_organizations` is set to `selected`. */
- selected_organizations_url?: string;
- allowed_actions?: components["schemas"]["allowed-actions"];
- selected_actions_url?: components["schemas"]["selected-actions-url"];
- };
- /**
- * Organization Simple
- * @description Organization Simple
- */
- "organization-simple": {
- /** @example github */
- login: string;
- /** @example 1 */
- id: number;
- /** @example MDEyOk9yZ2FuaXphdGlvbjE= */
- node_id: string;
- /**
- * Format: uri
- * @example https://api.github.com/orgs/github
- */
- url: string;
- /**
- * Format: uri
- * @example https://api.github.com/orgs/github/repos
- */
- repos_url: string;
- /**
- * Format: uri
- * @example https://api.github.com/orgs/github/events
- */
- events_url: string;
- /** @example https://api.github.com/orgs/github/hooks */
- hooks_url: string;
- /** @example https://api.github.com/orgs/github/issues */
- issues_url: string;
- /** @example https://api.github.com/orgs/github/members{/member} */
- members_url: string;
- /** @example https://api.github.com/orgs/github/public_members{/member} */
- public_members_url: string;
- /** @example https://github.com/images/error/octocat_happy.gif */
- avatar_url: string;
- /** @example A great organization */
- description: string | null;
- };
- "selected-actions": {
- /** @description Whether GitHub-owned actions are allowed. For example, this includes the actions in the `actions` organization. */
- github_owned_allowed?: boolean;
- /** @description Whether actions from GitHub Marketplace verified creators are allowed. Set to `true` to allow all actions by GitHub Marketplace verified creators. */
- verified_allowed?: boolean;
- /** @description Specifies a list of string-matching patterns to allow specific action(s) and reusable workflow(s). Wildcards, tags, and SHAs are allowed. For example, `monalisa/octocat@*`, `monalisa/octocat@v2`, `monalisa/*`." */
- patterns_allowed?: string[];
- };
- /**
- * @description The default workflow permissions granted to the GITHUB_TOKEN when running workflows.
- * @enum {string}
- */
- "actions-default-workflow-permissions": "read" | "write";
- /** @description Whether GitHub Actions can approve pull requests. Enabling this can be a security risk. */
- "actions-can-approve-pull-request-reviews": boolean;
- "actions-get-default-workflow-permissions": {
- default_workflow_permissions: components["schemas"]["actions-default-workflow-permissions"];
- can_approve_pull_request_reviews: components["schemas"]["actions-can-approve-pull-request-reviews"];
- };
- "actions-set-default-workflow-permissions": {
- default_workflow_permissions?: components["schemas"]["actions-default-workflow-permissions"];
- can_approve_pull_request_reviews?: components["schemas"]["actions-can-approve-pull-request-reviews"];
- };
- "runner-groups-enterprise": {
- id: number;
- name: string;
- visibility: string;
- default: boolean;
- selected_organizations_url?: string;
- runners_url: string;
- allows_public_repositories: boolean;
- /**
- * @description If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified.
- * @default false
- */
- workflow_restrictions_read_only?: boolean;
- /**
- * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.
- * @default false
- */
- restricted_to_workflows?: boolean;
- /** @description List of workflows the runner group should be allowed to run. This setting will be ignored unless `restricted_to_workflows` is set to `true`. */
- selected_workflows?: string[];
- };
- /**
- * Self hosted runner label
- * @description A label for a self hosted runner
- */
- "runner-label": {
- /** @description Unique identifier of the label. */
- id?: number;
- /** @description Name of the label. */
- name: string;
- /**
- * @description The type of label. Read-only labels are applied automatically when the runner is configured.
+ /** @description The security alert number. */
+ readonly "alert-number": number;
+ /** @description Details for the vulnerable package. */
+ readonly "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. */
+ readonly "dependabot-alert-security-vulnerability": {
+ readonly package: components["schemas"]["dependabot-alert-package"];
+ /**
+ * @description The severity of the vulnerability.
* @enum {string}
*/
- type?: "read-only" | "custom";
- };
- /**
- * Self hosted runners
- * @description A self hosted runner
- */
- runner: {
- /**
- * @description The id of the runner.
- * @example 5
- */
- id: number;
- /**
- * @description The name of the runner.
- * @example iMac
- */
- name: string;
- /**
- * @description The Operating System of the runner.
- * @example macos
- */
- os: string;
- /**
- * @description The status of the runner.
- * @example online
- */
- status: string;
- busy: boolean;
- labels: components["schemas"]["runner-label"][];
- };
- /**
- * Runner Application
- * @description Runner Application
- */
- "runner-application": {
- os: string;
- architecture: string;
- download_url: string;
- filename: string;
- /** @description A short lived bearer token used to download the runner, if needed. */
- temp_download_token?: string;
- sha256_checksum?: string;
+ 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;
};
- /**
- * Authentication Token
- * @description Authentication Token
- */
- "authentication-token": {
- /**
- * @description The token used for authentication
- * @example v1.1f699f1069f60xxx
+ /** @description Details for the GitHub Security Advisory. */
+ readonly "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: readonly components["schemas"]["dependabot-alert-security-vulnerability"][];
+ /**
+ * @description The severity of the advisory.
+ * @enum {string}
*/
- token: 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;
+ };
+ /** @description Details for the advisory pertaining to Common Weakness Enumeration. */
+ readonly cwes: readonly {
+ /** @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: readonly {
+ /**
+ * @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: readonly {
+ /**
+ * Format: uri
+ * @description The URL of the reference.
+ */
+ readonly url: string;
+ }[];
/**
* Format: date-time
- * @description The time this token expires
- * @example 2016-07-11T22:14:10Z
+ * @description The time that the advisory was published in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.
*/
- expires_at: string;
+ readonly published_at: string;
/**
- * @example {
- * "issues": "read",
- * "deployments": "write"
- * }
+ * Format: date-time
+ * @description The time that the advisory was last modified in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.
*/
- permissions?: { [key: string]: unknown };
- /** @description The repositories this token has access to */
- repositories?: components["schemas"]["repository"][];
- /** @example config.yaml */
- single_file?: string | null;
+ readonly updated_at: string;
/**
- * @description Describe whether all repositories have been selected or there's a selection involved
- * @enum {string}
+ * Format: date-time
+ * @description The time that the advisory was withdrawn in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.
*/
- repository_selection?: "all" | "selected";
- };
- "audit-log-event": {
- /** @description The time the audit log event occurred, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */
- "@timestamp"?: number;
- /** @description The name of the action that was performed, for example `user.login` or `repo.create`. */
- action?: string;
- active?: boolean;
- active_was?: boolean;
- /** @description The actor who performed the action. */
- actor?: string;
- /** @description The id of the actor who performed the action. */
- actor_id?: number;
- actor_location?: {
- country_name?: string;
- };
- data?: { [key: string]: unknown };
- org_id?: number;
- /** @description The username of the account being blocked. */
- blocked_user?: string;
- business?: string;
- config?: { [key: string]: unknown }[];
- config_was?: { [key: string]: unknown }[];
- content_type?: string;
- /** @description The time the audit log event was recorded, given as a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time). */
- created_at?: number;
- deploy_key_fingerprint?: string;
- /** @description A unique identifier for an audit event. */
- _document_id?: string;
- emoji?: string;
- events?: { [key: string]: unknown }[];
- events_were?: { [key: string]: unknown }[];
- explanation?: string;
- fingerprint?: string;
- hook_id?: number;
- limited_availability?: boolean;
- message?: string;
- name?: string;
- old_user?: string;
- openssh_public_key?: string;
- org?: string;
- previous_visibility?: string;
- read_only?: boolean;
- /** @description The name of the repository. */
- repo?: string;
- /** @description The name of the repository. */
- repository?: string;
- repository_public?: boolean;
- target_login?: string;
- team?: string;
- /** @description The type of protocol (for example, HTTP or SSH) used to transfer Git data. */
- transport_protocol?: number;
- /** @description A human readable name for the protocol (for example, HTTP or SSH) used to transfer Git data. */
- transport_protocol_name?: string;
- /** @description The user that was affected by the action performed (if available). */
- user?: string;
- /** @description The repository visibility, for example `public` or `private`. */
- visibility?: string;
+ readonly withdrawn_at: string | null;
};
- /** @description The name of the tool used to generate the code scanning analysis. */
- "code-scanning-analysis-tool-name": string;
- /** @description The GUID of the tool used to generate the code scanning analysis, if provided in the uploaded SARIF data. */
- "code-scanning-analysis-tool-guid": string | null;
- /**
- * @description State of a code scanning alert.
- * @enum {string}
- */
- "code-scanning-alert-state": "open" | "closed" | "dismissed" | "fixed";
- /** @description The security alert number. */
- "alert-number": number;
- /**
- * Format: date-time
- * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.
- */
- "alert-created-at": string;
- /**
- * Format: date-time
- * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.
- */
- "alert-updated-at": string;
/**
* Format: uri
* @description The REST API URL of the alert resource.
*/
- "alert-url": string;
+ readonly "alert-url": string;
/**
* Format: uri
* @description The GitHub URL of the alert resource.
*/
- "alert-html-url": string;
+ readonly "alert-html-url": string;
/**
- * Format: uri
- * @description The REST API URL for fetching the list of instances for an alert.
+ * Format: date-time
+ * @description The time that the alert was created in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.
*/
- "alert-instances-url": string;
+ readonly "alert-created-at": string;
/**
* Format: date-time
- * @description The time that the alert was no longer detected and was considered fixed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.
+ * @description The time that the alert was last updated in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.
*/
- "code-scanning-alert-fixed-at": string | null;
+ readonly "alert-updated-at": string;
/**
* Format: date-time
* @description The time that the alert was dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.
*/
- "code-scanning-alert-dismissed-at": string | null;
+ readonly "alert-dismissed-at": string | null;
/**
- * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert.
- * @enum {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`.
*/
- "code-scanning-alert-dismissed-reason":
- | (null | "false positive" | "won't fix" | "used in tests")
- | null;
- /** @description The dismissal comment associated with the dismissal of the alert. */
- "code-scanning-alert-dismissed-comment": string | null;
- "code-scanning-alert-rule": {
- /** @description A unique identifier for the rule used to detect the alert. */
- id?: string | null;
- /** @description The name of the rule used to detect the alert. */
- name?: string;
- /**
- * @description The severity of the alert.
- * @enum {string|null}
- */
- severity?: ("none" | "note" | "warning" | "error") | null;
- /**
- * @description The security severity of the alert.
- * @enum {string|null}
- */
- security_severity_level?: ("low" | "medium" | "high" | "critical") | null;
- /** @description A short description of the rule used to detect the alert. */
- description?: string;
- /** @description description of the rule used to detect the alert. */
- full_description?: string;
- /** @description A set of tags applicable for the rule. */
- tags?: string[] | null;
- /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */
- help?: string | null;
- };
- /** @description The version of the tool used to generate the code scanning analysis. */
- "code-scanning-analysis-tool-version": string | null;
- "code-scanning-analysis-tool": {
- name?: components["schemas"]["code-scanning-analysis-tool-name"];
- version?: components["schemas"]["code-scanning-analysis-tool-version"];
- guid?: components["schemas"]["code-scanning-analysis-tool-guid"];
- };
+ readonly "alert-fixed-at": string | null;
/**
- * @description The full Git reference, formatted as `refs/heads/`,
- * `refs/pull//merge`, or `refs/pull//head`.
+ * Format: date-time
+ * @description The time that the alert was auto-dismissed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.
*/
- "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"][];
- };
+ readonly "alert-auto-dismissed-at": string | null;
/**
* Simple Repository
- * @description Simple Repository
+ * @description A GitHub repository.
*/
"simple-repository": {
/**
@@ -8570,31 +10739,57 @@ export interface components {
*/
hooks_url: string;
};
- "code-scanning-organization-alert-items": {
+ /** @description A Dependabot alert. */
+ "dependabot-alert-with-repository": {
number: components["schemas"]["alert-number"];
- created_at: components["schemas"]["alert-created-at"];
- updated_at?: components["schemas"]["alert-updated-at"];
+ /**
+ * @description The state of the Dependabot alert.
+ * @enum {string}
+ */
+ state: "auto_dismissed" | "dismissed" | "fixed" | "open";
+ /** @description Details for the vulnerable dependency. */
+ dependency: {
+ readonly 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;
+ };
+ 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"];
- instances_url: components["schemas"]["alert-instances-url"];
- state: components["schemas"]["code-scanning-alert-state"];
- fixed_at?: components["schemas"]["code-scanning-alert-fixed-at"];
+ 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"];
- dismissed_at: components["schemas"]["code-scanning-alert-dismissed-at"];
- dismissed_reason: components["schemas"]["code-scanning-alert-dismissed-reason"];
- dismissed_comment?: components["schemas"]["code-scanning-alert-dismissed-comment"];
- rule: components["schemas"]["code-scanning-alert-rule"];
- tool: components["schemas"]["code-scanning-analysis-tool"];
- most_recent_instance: components["schemas"]["code-scanning-alert-instance"];
+ /**
+ * @description 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;
+ readonly "nullable-alert-updated-at": string | null;
/**
- * @description Sets the state of the secret scanning alert. Can be either `open` or `resolved`. You must provide `resolution` when you set the state to `resolved`.
+ * @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";
@@ -8603,7 +10798,10 @@ export interface components {
* @enum {string|null}
*/
"secret-scanning-alert-resolution":
- | (null | "false_positive" | "wont_fix" | "revoked" | "used_in_tests")
+ | "false_positive"
+ | "wont_fix"
+ | "revoked"
+ | "used_in_tests"
| null;
"organization-secret-scanning-alert": {
number?: components["schemas"]["alert-number"];
@@ -8642,79 +10840,13 @@ export interface components {
* @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.
*/
push_protection_bypassed_at?: string | null;
- };
- "actions-billing-usage": {
- /** @description The sum of the free and paid GitHub Actions minutes used. */
- total_minutes_used: number;
- /** @description The total paid GitHub Actions minutes used. */
- total_paid_minutes_used: number;
- /** @description The amount of free GitHub Actions minutes available. */
- included_minutes: number;
- minutes_used_breakdown: {
- /** @description Total minutes used on Ubuntu runner machines. */
- UBUNTU?: number;
- /** @description Total minutes used on macOS runner machines. */
- MACOS?: number;
- /** @description Total minutes used on Windows runner machines. */
- WINDOWS?: number;
- /** @description Total minutes used on Ubuntu 4 core runner machines. */
- ubuntu_4_core?: number;
- /** @description Total minutes used on Ubuntu 8 core runner machines. */
- ubuntu_8_core?: number;
- /** @description Total minutes used on Ubuntu 16 core runner machines. */
- ubuntu_16_core?: number;
- /** @description Total minutes used on Ubuntu 32 core runner machines. */
- ubuntu_32_core?: number;
- /** @description Total minutes used on Ubuntu 64 core runner machines. */
- ubuntu_64_core?: number;
- /** @description Total minutes used on Windows 4 core runner machines. */
- windows_4_core?: number;
- /** @description Total minutes used on Windows 8 core runner machines. */
- windows_8_core?: number;
- /** @description Total minutes used on Windows 16 core runner machines. */
- windows_16_core?: number;
- /** @description Total minutes used on Windows 32 core runner machines. */
- windows_32_core?: number;
- /** @description Total minutes used on Windows 64 core runner machines. */
- windows_64_core?: number;
- /** @description Total minutes used on all runner machines. */
- total?: number;
- };
- };
- "advanced-security-active-committers-user": {
- user_login: string;
- /** @example 2021-11-03 */
- last_pushed_date: string;
- };
- "advanced-security-active-committers-repository": {
- /** @example octocat/Hello-World */
- name: string;
- /** @example 25 */
- advanced_security_committers: number;
- advanced_security_committers_breakdown: components["schemas"]["advanced-security-active-committers-user"][];
- };
- "advanced-security-active-committers": {
- /** @example 25 */
- total_advanced_security_committers?: number;
- /** @example 2 */
- total_count?: number;
- repositories: components["schemas"]["advanced-security-active-committers-repository"][];
- };
- "packages-billing-usage": {
- /** @description Sum of the free and paid storage space (GB) for GitHuub Packages. */
- total_gigabytes_bandwidth_used: number;
- /** @description Total paid storage space (GB) for GitHuub Packages. */
- total_paid_gigabytes_bandwidth_used: number;
- /** @description Free storage space (GB) for GitHub Packages. */
- included_gigabytes_bandwidth: number;
- };
- "combined-billing-usage": {
- /** @description Numbers of days left in billing cycle. */
- days_left_in_billing_cycle: number;
- /** @description Estimated storage space (GB) used in billing cycle. */
- estimated_paid_storage_for_month: number;
- /** @description Estimated sum of free and paid storage space (GB) used in billing cycle. */
- estimated_storage_for_month: number;
+ /** @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";
};
/**
* Actor
@@ -8857,7 +10989,8 @@ export interface components {
metadata?: string;
contents?: string;
deployments?: string;
- } & { [key: string]: string };
+ [key: string]: string | undefined;
+ };
/**
* @description The list of events for the GitHub app
* @example [
@@ -8914,6 +11047,7 @@ export interface components {
* @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;
/**
@@ -8944,8 +11078,9 @@ export interface components {
/**
* @description The reason for the current state
* @example not_planned
+ * @enum {string|null}
*/
- state_reason?: string | null;
+ state_reason?: "completed" | "reopened" | "not_planned" | null;
/**
* @description Title of the issue
* @example Widget creation fails in Safari on OS X 10.8
@@ -8964,9 +11099,10 @@ export interface components {
* "registration"
* ]
*/
- labels: (
- | string
- | {
+ labels: OneOf<
+ [
+ string,
+ {
/** Format: int64 */
id?: number;
node_id?: string;
@@ -8976,8 +11112,9 @@ export interface components {
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"];
@@ -9019,6 +11156,7 @@ export interface components {
*/
"issue-comment": {
/**
+ * Format: int64
* @description Unique identifier of the issue comment
* @example 42
*/
@@ -9121,6 +11259,16 @@ export interface components {
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"];
@@ -9130,6 +11278,8 @@ export interface components {
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"];
};
};
/**
@@ -9561,8 +11711,11 @@ export interface components {
monthly_price_in_cents: number;
/** @example 11870 */
yearly_price_in_cents: number;
- /** @example flat-rate */
- price_model: string;
+ /**
+ * @example FLAT_RATE
+ * @enum {string}
+ */
+ price_model: "FREE" | "FLAT_RATE" | "PER_UNIT";
/** @example true */
has_free_trial: boolean;
unit_name: string | null;
@@ -9620,487 +11773,98 @@ export interface components {
};
/**
* @example [
- * "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl"
+ * "ssh-ed25519 ABCDEFGHIJKLMNOPQRSTUVWXYZ"
* ]
*/
ssh_keys?: string[];
/**
* @example [
- * "127.0.0.1/32"
+ * "192.0.2.1"
* ]
*/
hooks?: string[];
/**
* @example [
- * "127.0.0.1/32"
+ * "192.0.2.1"
+ * ]
+ */
+ github_enterprise_importer?: string[];
+ /**
+ * @example [
+ * "192.0.2.1"
* ]
*/
web?: string[];
/**
* @example [
- * "127.0.0.1/32"
+ * "192.0.2.1"
* ]
*/
api?: string[];
/**
* @example [
- * "127.0.0.1/32"
+ * "192.0.2.1"
* ]
*/
git?: string[];
/**
* @example [
- * "13.65.0.0/16",
- * "157.55.204.33/32",
- * "2a01:111:f403:f90c::/62"
+ * "192.0.2.1"
* ]
*/
packages?: string[];
/**
* @example [
- * "192.30.252.153/32",
- * "192.30.252.154/32"
+ * "192.0.2.1"
* ]
*/
pages?: string[];
/**
* @example [
- * "54.158.161.132",
- * "54.226.70.38"
+ * "192.0.2.1"
* ]
*/
importer?: string[];
/**
* @example [
- * "13.64.0.0/16",
- * "13.65.0.0/16"
+ * "192.0.2.1"
* ]
*/
actions?: string[];
/**
* @example [
- * "192.168.7.15/32",
- * "192.168.7.16/32"
+ * "192.0.2.1"
* ]
*/
dependabot?: string[];
+ domains?: {
+ website?: string[];
+ codespaces?: string[];
+ copilot?: string[];
+ packages?: string[];
+ };
};
- /**
- * Repository
- * @description A git repository
- */
- "nullable-repository": {
- /**
- * @description Unique identifier of the repository
- * @example 42
- */
- id: number;
- /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */
- node_id: string;
- /**
- * @description The name of the repository.
- * @example Team Environment
- */
- name: string;
- /** @example octocat/Hello-World */
- full_name: string;
- license: components["schemas"]["nullable-license-simple"];
- organization?: components["schemas"]["nullable-simple-user"];
- forks: number;
- permissions?: {
- admin: boolean;
- pull: boolean;
- triage?: boolean;
- push: boolean;
- maintain?: boolean;
+ "security-and-analysis": {
+ advanced_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";
};
- owner: components["schemas"]["simple-user"];
- /**
- * @description Whether the repository is private or public.
- * @default false
- */
- private: boolean;
- /**
- * Format: uri
- * @example https://github.com/octocat/Hello-World
- */
- html_url: string;
- /** @example This your first repo! */
- description: string | null;
- fork: boolean;
- /**
- * Format: uri
- * @example https://api.github.com/repos/octocat/Hello-World
- */
- url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */
- archive_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */
- assignees_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */
- blobs_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/branches{/branch} */
- branches_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator} */
- collaborators_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/comments{/number} */
- comments_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/commits{/sha} */
- commits_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/compare/{base}...{head} */
- compare_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/contents/{+path} */
- contents_url: string;
- /**
- * Format: uri
- * @example http://api.github.com/repos/octocat/Hello-World/contributors
- */
- contributors_url: string;
- /**
- * Format: uri
- * @example http://api.github.com/repos/octocat/Hello-World/deployments
- */
- deployments_url: string;
- /**
- * Format: uri
- * @example http://api.github.com/repos/octocat/Hello-World/downloads
- */
- downloads_url: string;
- /**
- * Format: uri
- * @example http://api.github.com/repos/octocat/Hello-World/events
- */
- events_url: string;
- /**
- * Format: uri
- * @example http://api.github.com/repos/octocat/Hello-World/forks
- */
- forks_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/git/commits{/sha} */
- git_commits_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/git/refs{/sha} */
- git_refs_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/git/tags{/sha} */
- git_tags_url: string;
- /** @example git:github.com/octocat/Hello-World.git */
- git_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/issues/comments{/number} */
- issue_comment_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/issues/events{/number} */
- issue_events_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/issues{/number} */
- issues_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/keys{/key_id} */
- keys_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/labels{/name} */
- labels_url: string;
- /**
- * Format: uri
- * @example http://api.github.com/repos/octocat/Hello-World/languages
- */
- languages_url: string;
- /**
- * Format: uri
- * @example http://api.github.com/repos/octocat/Hello-World/merges
- */
- merges_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/milestones{/number} */
- milestones_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating} */
- notifications_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/pulls{/number} */
- pulls_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/releases{/id} */
- releases_url: string;
- /** @example git@github.com:octocat/Hello-World.git */
- ssh_url: string;
- /**
- * Format: uri
- * @example http://api.github.com/repos/octocat/Hello-World/stargazers
- */
- stargazers_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/statuses/{sha} */
- statuses_url: string;
- /**
- * Format: uri
- * @example http://api.github.com/repos/octocat/Hello-World/subscribers
- */
- subscribers_url: string;
- /**
- * Format: uri
- * @example http://api.github.com/repos/octocat/Hello-World/subscription
- */
- subscription_url: string;
- /**
- * Format: uri
- * @example http://api.github.com/repos/octocat/Hello-World/tags
- */
- tags_url: string;
- /**
- * Format: uri
- * @example http://api.github.com/repos/octocat/Hello-World/teams
- */
- teams_url: string;
- /** @example http://api.github.com/repos/octocat/Hello-World/git/trees{/sha} */
- trees_url: string;
- /** @example https://github.com/octocat/Hello-World.git */
- clone_url: string;
- /**
- * Format: uri
- * @example git:git.example.com/octocat/Hello-World
- */
- mirror_url: string | null;
- /**
- * Format: uri
- * @example http://api.github.com/repos/octocat/Hello-World/hooks
- */
- hooks_url: string;
- /**
- * Format: uri
- * @example https://svn.github.com/octocat/Hello-World
- */
- svn_url: string;
- /**
- * Format: uri
- * @example https://github.com
- */
- homepage: string | null;
- language: string | null;
- /** @example 9 */
- forks_count: number;
- /** @example 80 */
- stargazers_count: number;
- /** @example 80 */
- watchers_count: number;
- /** @example 108 */
- size: number;
- /**
- * @description The default branch of the repository.
- * @example master
- */
- default_branch: string;
- /** @example 0 */
- open_issues_count: number;
- /**
- * @description Whether this repository acts as a template that can be used to generate new repositories.
- * @default false
- * @example true
- */
- is_template?: boolean;
- topics?: string[];
- /**
- * @description Whether issues are enabled.
- * @default true
- * @example true
- */
- has_issues: boolean;
- /**
- * @description Whether projects are enabled.
- * @default true
- * @example true
- */
- has_projects: boolean;
- /**
- * @description Whether the wiki is enabled.
- * @default true
- * @example true
- */
- has_wiki: boolean;
- has_pages: boolean;
- /**
- * @description Whether downloads are enabled.
- * @default true
- * @example true
- */
- has_downloads: boolean;
- /**
- * @description Whether the repository is archived.
- * @default false
- */
- archived: boolean;
- /** @description Returns whether or not this repository disabled. */
- disabled: boolean;
- /**
- * @description The repository visibility: public, private, or internal.
- * @default public
- */
- visibility?: string;
- /**
- * Format: date-time
- * @example 2011-01-26T19:06:43Z
- */
- pushed_at: string | null;
- /**
- * Format: date-time
- * @example 2011-01-26T19:01:12Z
- */
- created_at: string | null;
- /**
- * Format: date-time
- * @example 2011-01-26T19:14:43Z
- */
- updated_at: string | null;
- /**
- * @description Whether to allow rebase merges for pull requests.
- * @default true
- * @example true
- */
- allow_rebase_merge?: boolean;
- template_repository?: {
- id?: number;
- node_id?: string;
- name?: string;
- full_name?: string;
- owner?: {
- login?: string;
- id?: number;
- node_id?: string;
- avatar_url?: string;
- gravatar_id?: string;
- url?: string;
- html_url?: string;
- followers_url?: string;
- following_url?: string;
- gists_url?: string;
- starred_url?: string;
- subscriptions_url?: string;
- organizations_url?: string;
- repos_url?: string;
- events_url?: string;
- received_events_url?: string;
- type?: string;
- site_admin?: boolean;
- };
- private?: boolean;
- html_url?: string;
- description?: string;
- fork?: boolean;
- url?: string;
- archive_url?: string;
- assignees_url?: string;
- blobs_url?: string;
- branches_url?: string;
- collaborators_url?: string;
- comments_url?: string;
- commits_url?: string;
- compare_url?: string;
- contents_url?: string;
- contributors_url?: string;
- deployments_url?: string;
- downloads_url?: string;
- events_url?: string;
- forks_url?: string;
- git_commits_url?: string;
- git_refs_url?: string;
- git_tags_url?: string;
- git_url?: string;
- issue_comment_url?: string;
- issue_events_url?: string;
- issues_url?: string;
- keys_url?: string;
- labels_url?: string;
- languages_url?: string;
- merges_url?: string;
- milestones_url?: string;
- notifications_url?: string;
- pulls_url?: string;
- releases_url?: string;
- ssh_url?: string;
- stargazers_url?: string;
- statuses_url?: string;
- subscribers_url?: string;
- subscription_url?: string;
- tags_url?: string;
- teams_url?: string;
- trees_url?: string;
- clone_url?: string;
- mirror_url?: string;
- hooks_url?: string;
- svn_url?: string;
- homepage?: string;
- language?: string;
- forks_count?: number;
- stargazers_count?: number;
- watchers_count?: number;
- size?: number;
- default_branch?: string;
- open_issues_count?: number;
- is_template?: boolean;
- topics?: string[];
- has_issues?: boolean;
- has_projects?: boolean;
- has_wiki?: boolean;
- has_pages?: boolean;
- has_downloads?: boolean;
- archived?: boolean;
- disabled?: boolean;
- visibility?: string;
- pushed_at?: string;
- created_at?: string;
- updated_at?: string;
- permissions?: {
- admin?: boolean;
- maintain?: boolean;
- push?: boolean;
- triage?: boolean;
- pull?: boolean;
- };
- allow_rebase_merge?: boolean;
- temp_clone_token?: string;
- allow_squash_merge?: boolean;
- allow_auto_merge?: boolean;
- delete_branch_on_merge?: boolean;
- allow_update_branch?: boolean;
- use_squash_pr_title_as_default?: boolean;
- allow_merge_commit?: boolean;
- subscribers_count?: number;
- network_count?: number;
- } | null;
- temp_clone_token?: string;
- /**
- * @description Whether to allow squash merges for pull requests.
- * @default true
- * @example true
- */
- allow_squash_merge?: boolean;
- /**
- * @description Whether to allow Auto-merge to be used on pull requests.
- * @default false
- * @example false
- */
- allow_auto_merge?: boolean;
- /**
- * @description Whether to delete head branches when pull requests are merged
- * @default false
- * @example false
- */
- delete_branch_on_merge?: boolean;
- /**
- * @description Whether or not a pull request head branch that is behind its base branch can always be updated even if it is not required to be up to date before merging.
- * @default false
- * @example false
- */
- allow_update_branch?: boolean;
- /**
- * @description Whether a squash merge commit can use the pull request title as default.
- * @default false
- */
- use_squash_pr_title_as_default?: boolean;
- /**
- * @description Whether to allow merge commits for pull requests.
- * @default true
- * @example true
- */
- allow_merge_commit?: boolean;
- /** @description Whether to allow forking this repo */
- allow_forking?: boolean;
- subscribers_count?: number;
- network_count?: number;
- open_issues: number;
- watchers: number;
- master_branch?: string;
- /** @example "2020-07-09T00:17:42Z" */
- starred_at?: string;
} | null;
/**
* Minimal Repository
@@ -10251,6 +12015,7 @@ export interface components {
forks_count?: number;
stargazers_count?: number;
watchers_count?: number;
+ /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */
size?: number;
default_branch?: string;
open_issues_count?: number;
@@ -10261,6 +12026,7 @@ export interface components {
has_wiki?: boolean;
has_pages?: boolean;
has_downloads?: boolean;
+ has_discussions?: boolean;
archived?: boolean;
disabled?: boolean;
visibility?: string;
@@ -10288,7 +12054,6 @@ export interface components {
};
/** @example admin */
role_name?: string;
- template_repository?: components["schemas"]["nullable-repository"];
temp_clone_token?: string;
delete_branch_on_merge?: boolean;
subscribers_count?: number;
@@ -10308,6 +12073,9 @@ export interface components {
/** @example 0 */
watchers?: number;
allow_forking?: boolean;
+ /** @example false */
+ web_commit_signoff_required?: boolean;
+ security_and_analysis?: components["schemas"]["security-and-analysis"];
};
/**
* Thread
@@ -10361,12 +12129,43 @@ export interface components {
repository_url?: string;
};
/**
- * Organization Custom Repository Role
- * @description Custom repository roles created by organization administrators
+ * Organization Simple
+ * @description A GitHub organization.
*/
- "organization-custom-repository-role": {
+ "organization-simple": {
+ /** @example github */
+ login: string;
+ /** @example 1 */
id: number;
- name: string;
+ /** @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;
};
/**
* Organization Full
@@ -10443,11 +12242,6 @@ export interface components {
* @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 */
@@ -10493,47 +12287,127 @@ export interface components {
members_can_create_private_pages?: boolean;
/** @example false */
members_can_fork_private_repositories?: boolean | null;
- /** Format: date-time */
- updated_at: string;
- };
- /**
- * Actions Cache Usage by repository
- * @description GitHub Actions Cache Usage by repository.
- */
- "actions-cache-usage-by-repository": {
+ /** @example false */
+ web_commit_signoff_required?: boolean;
/**
- * @description The repository owner and name for the cache usage being shown.
- * @example octo-org/Hello-World
+ * @description 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
*/
- full_name: string;
+ advanced_security_enabled_for_new_repositories?: boolean;
/**
- * @description The sum of the size in bytes of all the active cache items in the repository.
- * @example 2322142
+ * @description Whether GitHub Advanced Security 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
*/
- active_caches_size_in_bytes: number;
+ dependabot_alerts_enabled_for_new_repositories?: boolean;
/**
- * @description The number of active caches in the repository.
- * @example 3
+ * @description 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
*/
- active_caches_count: number;
- };
- /**
- * Actions OIDC Subject customization
- * @description Actions OIDC Subject customization
- */
- "oidc-custom-sub": {
- include_claim_keys: string[];
+ dependabot_security_updates_enabled_for_new_repositories?: boolean;
+ /**
+ * @description 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;
+ /**
+ * @description 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;
+ /**
+ * @description 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;
+ };
+ "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;
+ };
+ /**
+ * 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": { [key: string]: unknown };
+ "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`. */
@@ -10541,29 +12415,126 @@ export interface components {
allowed_actions?: components["schemas"]["allowed-actions"];
selected_actions_url?: components["schemas"]["selected-actions-url"];
};
- "runner-groups-org": {
+ "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"];
+ };
+ /**
+ * 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;
- visibility: string;
- default: boolean;
- /** @description Link to the selected repositories resource for this runner group. Not present unless visibility was set to `selected` */
- selected_repositories_url?: string;
- runners_url: string;
- inherited: boolean;
- inherited_allows_public_repositories?: boolean;
- allows_public_repositories: boolean;
/**
- * @description If `true`, the `restricted_to_workflows` and `selected_workflows` fields cannot be modified.
- * @default false
+ * @description The Operating System of the runner.
+ * @example macos
+ */
+ os: string;
+ /**
+ * @description The status of the runner.
+ * @example online
+ */
+ status: string;
+ busy: boolean;
+ labels: components["schemas"]["runner-label"][];
+ };
+ /**
+ * Runner Application
+ * @description Runner Application
+ */
+ "runner-application": {
+ os: string;
+ architecture: string;
+ download_url: string;
+ filename: string;
+ /** @description A short lived bearer token used to download the runner, if needed. */
+ temp_download_token?: string;
+ sha256_checksum?: string;
+ };
+ /**
+ * Authentication Token
+ * @description Authentication Token
+ */
+ "authentication-token": {
+ /**
+ * @description The token used for authentication
+ * @example v1.1f699f1069f60xxx
*/
- workflow_restrictions_read_only?: boolean;
+ token: string;
/**
- * @description If `true`, the runner group will be restricted to running only the workflows specified in the `selected_workflows` array.
- * @default false
+ * 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}
*/
- 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[];
+ repository_selection?: "all" | "selected";
};
/**
* Actions Secret for an Organization
@@ -10614,6 +12585,188 @@ export interface components {
/** @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;
+ };
+ /** @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.
+ */
+ readonly "alert-instances-url": string;
+ /**
+ * @description State of a code scanning alert.
+ * @enum {string}
+ */
+ "code-scanning-alert-state": "open" | "dismissed" | "fixed";
+ /**
+ * @description **Required when the state is dismissed.** The reason for dismissing or closing the alert.
+ * @enum {string|null}
+ */
+ "code-scanning-alert-dismissed-reason":
+ | null
+ | "false positive"
+ | "won't fix"
+ | "used in tests";
+ /** @description The dismissal comment associated with the dismissal of the alert. */
+ "code-scanning-alert-dismissed-comment": string | null;
+ "code-scanning-alert-rule": {
+ /** @description A unique identifier for the rule used to detect the alert. */
+ id?: string | null;
+ /** @description The name of the rule used to detect the alert. */
+ name?: string;
+ /**
+ * @description The severity of the alert.
+ * @enum {string|null}
+ */
+ severity?: "none" | "note" | "warning" | "error" | null;
+ /**
+ * @description The security severity of the alert.
+ * @enum {string|null}
+ */
+ security_severity_level?: "low" | "medium" | "high" | "critical" | null;
+ /** @description A short description of the rule used to detect the alert. */
+ description?: string;
+ /** @description description of the rule used to detect the alert. */
+ full_description?: string;
+ /** @description A set of tags applicable for the rule. */
+ tags?: string[] | null;
+ /** @description Detailed documentation for the rule as GitHub Flavored Markdown. */
+ help?: string | null;
+ /** @description 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 full Git reference, formatted as `refs/heads/`,
+ * `refs/pull//merge`, or `refs/pull//head`.
+ */
+ "code-scanning-ref": string;
+ /** @description Identifies the configuration under which the analysis was executed. For example, in GitHub Actions this includes the workflow filename and job name. */
+ "code-scanning-analysis-analysis-key": string;
+ /** @description Identifies the variable values associated with the environment in which the analysis that generated this alert instance was performed, such as the language that was analyzed. */
+ "code-scanning-alert-environment": string;
+ /** @description Identifies the configuration under which the analysis was executed. Used to distinguish between multiple analyses for the same tool and commit, but performed on different languages or different parts of the code. */
+ "code-scanning-analysis-category": string;
+ /** @description Describe a region within a file for the alert. */
+ "code-scanning-alert-location": {
+ path?: string;
+ start_line?: number;
+ end_line?: number;
+ start_column?: number;
+ end_column?: number;
+ };
+ /**
+ * @description A classification of the file. For example to identify it as generated.
+ * @enum {string|null}
+ */
+ "code-scanning-alert-classification":
+ | "source"
+ | "generated"
+ | "test"
+ | "library"
+ | null;
+ "code-scanning-alert-instance": {
+ ref?: components["schemas"]["code-scanning-ref"];
+ analysis_key?: components["schemas"]["code-scanning-analysis-analysis-key"];
+ environment?: components["schemas"]["code-scanning-alert-environment"];
+ category?: components["schemas"]["code-scanning-analysis-category"];
+ state?: components["schemas"]["code-scanning-alert-state"];
+ commit_sha?: string;
+ message?: {
+ text?: string;
+ };
+ location?: components["schemas"]["code-scanning-alert-location"];
+ html_url?: string;
+ /**
+ * @description Classifications that have been applied to the file that triggered the alert.
+ * For example identifying it as documentation, or a generated file.
+ */
+ classifications?: components["schemas"]["code-scanning-alert-classification"][];
+ };
+ "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"];
+ tool: components["schemas"]["code-scanning-analysis-tool"];
+ most_recent_instance: components["schemas"]["code-scanning-alert-instance"];
+ repository: components["schemas"]["simple-repository"];
+ };
/**
* Codespace machine
* @description A description of the machine powering a codespace.
@@ -10626,7 +12779,7 @@ export interface components {
name: string;
/**
* @description The display name of the machine includes cores, memory, and storage.
- * @example 4 cores, 8 GB RAM, 64 GB storage
+ * @example 4 cores, 16 GB RAM, 64 GB storage
*/
display_name: string;
/**
@@ -10641,7 +12794,7 @@ export interface components {
storage_in_bytes: number;
/**
* @description How much memory is available to the codespace.
- * @example 8589934592
+ * @example 17179869184
*/
memory_in_bytes: number;
/**
@@ -10654,7 +12807,7 @@ export interface components {
* @example ready
* @enum {string|null}
*/
- prebuild_availability: ("none" | "ready" | "in_progress") | null;
+ prebuild_availability: "none" | "ready" | "in_progress" | null;
} | null;
/**
* Codespace
@@ -10759,7 +12912,7 @@ export interface components {
ref?: string;
};
/**
- * @description The Azure region where this codespace is located.
+ * @description The initally assigned location of a new codespace.
* @example WestUs2
* @enum {string}
*/
@@ -10789,6 +12942,11 @@ export interface components {
* @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.
@@ -10805,105 +12963,60 @@ export interface components {
pending_operation_disabled_reason?: string | null;
/** @description Text to show user when codespace idle timeout minutes has been overriden by an organization policy */
idle_timeout_notice?: string | null;
- };
- /**
- * Credential Authorization
- * @description Credential Authorization
- */
- "credential-authorization": {
- /**
- * @description User login that owns the underlying credential.
- * @example monalisa
- */
- login: string;
- /**
- * @description Unique identifier for the credential.
- * @example 1
- */
- credential_id: number;
- /**
- * @description Human-readable description of the credential type.
- * @example SSH Key
- */
- credential_type: string;
/**
- * @description Last eight characters of the credential. Only included in responses with credential_type of personal access token.
- * @example 12345678
+ * @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
*/
- token_last_eight?: string;
+ retention_period_minutes?: number | null;
/**
* Format: date-time
- * @description Date when the credential was authorized for use.
- * @example 2011-01-26T19:06:43Z
+ * @description When a codespace will be auto-deleted based on the "retention_period_minutes" and "last_used_at"
+ * @example 2011-01-26T20:01:12Z
*/
- credential_authorized_at: string;
+ retention_expires_at?: string | null;
/**
- * @description List of oauth scopes the token has been granted.
- * @example [
- * "user",
- * "repo"
- * ]
+ * @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
*/
- scopes?: string[];
+ last_known_stop_notice?: string | null;
+ };
+ /**
+ * Codespaces Secret
+ * @description Secrets for a GitHub Codespace.
+ */
+ "codespaces-org-secret": {
/**
- * @description Unique string to distinguish the credential. Only included in responses with credential_type of SSH Key.
- * @example jklmnop12345678
+ * @description The name of the secret
+ * @example SECRET_NAME
*/
- fingerprint?: string;
+ name: string;
/**
* Format: date-time
- * @description Date when the credential was last accessed. May be null if it was never accessed
- * @example 2011-01-26T19:06:43Z
+ * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ.
*/
- credential_accessed_at: string | null;
- /** @example 12345678 */
- authorized_credential_id: number | null;
- /**
- * @description The title given to the ssh key. This will only be present when the credential is an ssh key.
- * @example my ssh key
- */
- authorized_credential_title?: string | null;
- /**
- * @description The note given to the token. This will only be present when the credential is a token.
- * @example my token
- */
- authorized_credential_note?: string | null;
+ created_at: string;
/**
* Format: date-time
- * @description The expiry for the token. This will only be present when the credential is a token.
- */
- authorized_credential_expires_at?: string | null;
- };
- /**
- * Dependabot Secret for an Organization
- * @description Secrets for GitHub Dependabot for an organization.
- */
- "organization-dependabot-secret": {
- /**
- * @description The name of the secret.
- * @example SECRET_TOKEN
+ * @description The date and time at which the secret was created, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ.
*/
- name: string;
- /** Format: date-time */
- created_at: string;
- /** Format: date-time */
updated_at: string;
/**
- * @description Visibility of a secret
+ * @description The type of repositories in the organization that the secret is visible to
* @enum {string}
*/
visibility: "all" | "private" | "selected";
/**
* Format: uri
- * @example https://api.github.com/organizations/org/dependabot/secrets/my_secret/repositories
+ * @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;
};
/**
- * DependabotPublicKey
- * @description The public key used for setting Dependabot Secrets.
+ * CodespacesPublicKey
+ * @description The public key used for setting Codespaces secrets.
*/
- "dependabot-public-key": {
+ "codespaces-public-key": {
/**
* @description The identifier for the key.
* @example 1234567
@@ -10914,286 +13027,105 @@ export interface components {
* @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;
};
/**
- * ExternalGroup
- * @description Information about an external group's usage and its members
+ * Copilot for Business Seat Breakdown
+ * @description The breakdown of Copilot for Business seats for the organization.
*/
- "external-group": {
- /**
- * @description The internal ID of the group
- * @example 1
- */
- group_id: number;
- /**
- * @description The display name for the group
- * @example group-azuread-test
- */
- group_name: string;
+ "copilot-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 seats that have been assigned to users that have not yet accepted an invitation to 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 for Business Organization Details
+ * @description Information about the seat breakdown and policies set for an organization with a Copilot for Business subscription.
+ */
+ "copilot-organization-details": {
+ seat_breakdown: components["schemas"]["copilot-seat-breakdown"];
/**
- * @description The date when the group was last updated_at
- * @example 2021-01-03 22:27:15:000 -700
+ * @description The organization policy for allowing or disallowing Copilot to make suggestions that match public code.
+ * @enum {string}
*/
- updated_at?: string;
+ public_code_suggestions: "allow" | "block" | "unconfigured" | "unknown";
/**
- * @description An array of teams linked to this group
- * @example [
- * {
- * "team_id": 1,
- * "team_name": "team-test"
- * },
- * {
- * "team_id": 2,
- * "team_name": "team-test2"
- * }
- * ]
+ * @description The organization policy for allowing or disallowing organization members to use Copilot Chat within their editor.
+ * @enum {string}
*/
- teams: {
- /**
- * @description The id for a team
- * @example 1
- */
- team_id: number;
- /**
- * @description The name of the team
- * @example team-test
- */
- team_name: string;
- }[];
+ copilot_chat?: "enabled" | "disabled" | "unconfigured";
/**
- * @description An array of external members linked to this group
- * @example [
- * {
- * "member_id": 1,
- * "member_login": "mona-lisa_eocsaxrs",
- * "member_name": "Mona Lisa",
- * "member_email": "mona_lisa@github.com"
- * },
- * {
- * "member_id": 2,
- * "member_login": "octo-lisa_eocsaxrs",
- * "member_name": "Octo Lisa",
- * "member_email": "octo_lisa@github.com"
- * }
- * ]
+ * @description The mode of assigning new seats.
+ * @enum {string}
*/
- members: {
- /**
- * @description The internal user ID of the identity
- * @example 1
- */
- member_id: number;
- /**
- * @description The handle/login for the user
- * @example mona-lisa_eocsaxrs
- */
- member_login: string;
- /**
- * @description The user display name/profile name
- * @example Mona Lisa
- */
- member_name: string;
- /**
- * @description An email attached to a user
- * @example mona_lisa@github.com
- */
- member_email: string;
- }[];
+ seat_management_setting:
+ | "assign_all"
+ | "assign_selected"
+ | "disabled"
+ | "unconfigured";
+ [key: string]: unknown;
};
/**
- * ExternalGroups
- * @description A list of external groups available to be connected to a team
+ * Team Simple
+ * @description Groups of organization members that gives permissions on specified repositories.
*/
- "external-groups": {
+ "nullable-team-simple": {
/**
- * @description An array of external groups available to be mapped to a team
- * @example [
- * {
- * "group_id": 1,
- * "group_name": "group-azuread-test",
- * "updated_at": "2021-01-03 22:27:15:000 -700"
- * },
- * {
- * "group_id": 2,
- * "group_name": "group-azuread-test2",
- * "updated_at": "2021-06-03 22:27:15:000 -700"
- * }
- * ]
+ * @description Unique identifier of the team
+ * @example 1
*/
- groups?: {
- /**
- * @description The internal ID of the group
- * @example 1
- */
- group_id: number;
- /**
- * @description The display name of the group
- * @example group-azuread-test
- */
- group_name: string;
- /**
- * @description The time of the last update for this group
- * @example 2019-06-03 22:27:15:000 -700
- */
- updated_at: string;
- }[];
- };
- /**
- * Organization Invitation
- * @description Organization Invitation
- */
- "organization-invitation": {
id: number;
- login: string | null;
- email: string | null;
- role: string;
- created_at: string;
- failed_at?: string | null;
- failed_reason?: string | null;
- inviter: components["schemas"]["simple-user"];
- team_count: number;
- /** @example "MDIyOk9yZ2FuaXphdGlvbkludml0YXRpb24x" */
+ /** @example MDQ6VGVhbTE= */
node_id: string;
- /** @example "https://api.github.com/organizations/16/invitations/1/teams" */
- invitation_teams_url: string;
- };
- /**
- * Org Hook
- * @description Org Hook
- */
- "org-hook": {
- /** @example 1 */
- id: number;
/**
* Format: uri
- * @example https://api.github.com/orgs/octocat/hooks/1
+ * @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;
/**
- * Format: uri
- * @example https://api.github.com/orgs/octocat/hooks/1/pings
+ * @description Name of the team
+ * @example Justice League
*/
- ping_url: string;
+ name: string;
/**
- * Format: uri
- * @example https://api.github.com/orgs/octocat/hooks/1/deliveries
+ * @description Description of the team
+ * @example A great team.
*/
- deliveries_url?: string;
- /** @example web */
- name: string;
+ description: string | null;
/**
- * @example [
- * "push",
- * "pull_request"
- * ]
+ * @description Permission that the team will have for its repositories
+ * @example admin
*/
- 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;
- };
+ permission: string;
/**
- * Format: date-time
- * @example 2011-09-06T20:39:23Z
+ * @description The level of privacy this team should have
+ * @example closed
*/
- updated_at: string;
+ privacy?: string;
/**
- * Format: date-time
- * @example 2011-09-06T17:26:27Z
+ * @description The notification setting the team has set
+ * @example notifications_enabled
*/
- created_at: string;
- type: string;
- };
- /**
- * @description The type of GitHub user that can comment, open issues, or create pull requests while the interaction limit is in effect.
- * @example collaborators_only
- * @enum {string}
- */
- "interaction-group":
- | "existing_users"
- | "contributors_only"
- | "collaborators_only";
- /**
- * Interaction Limits
- * @description Interaction limit settings.
- */
- "interaction-limit-response": {
- limit: components["schemas"]["interaction-group"];
- /** @example repository */
- origin: string;
- /**
- * Format: date-time
- * @example 2018-08-17T04:18:39Z
- */
- expires_at: string;
- };
- /**
- * @description The duration of the interaction restriction. Default: `one_day`.
- * @example one_month
- * @enum {string}
- */
- "interaction-expiry":
- | "one_day"
- | "three_days"
- | "one_week"
- | "one_month"
- | "six_months";
- /**
- * Interaction Restrictions
- * @description Limit interactions to a specific type of user for a specified duration
- */
- "interaction-limit": {
- limit: components["schemas"]["interaction-group"];
- expiry?: components["schemas"]["interaction-expiry"];
- };
- /**
- * Team Simple
- * @description Groups of organization members that gives permissions on specified repositories.
- */
- "nullable-team-simple": {
- /**
- * @description Unique identifier of the team
- * @example 1
- */
- id: number;
- /** @example MDQ6VGVhbTE= */
- node_id: string;
- /**
- * Format: uri
- * @description URL for the team
- * @example https://api.github.com/organizations/1/team/1
- */
- url: string;
- /** @example https://api.github.com/organizations/1/team/1/members{/member} */
- members_url: string;
- /**
- * @description Name of the team
- * @example Justice League
- */
- name: string;
- /**
- * @description Description of the team
- * @example A great team.
- */
- description: string | null;
- /**
- * @description Permission that the team will have for its repositories
- * @example admin
- */
- permission: string;
- /**
- * @description The level of privacy this team should have
- * @example closed
- */
- privacy?: string;
+ notification_setting?: string;
/**
* Format: uri
* @example https://github.com/orgs/rails/teams/core
@@ -11223,6 +13155,7 @@ export interface components {
slug: string;
description: string | null;
privacy?: string;
+ notification_setting?: string;
permission: string;
permissions?: {
pull: boolean;
@@ -11244,78 +13177,162 @@ export interface components {
parent: components["schemas"]["nullable-team-simple"];
};
/**
- * Org Membership
- * @description Org Membership
+ * Organization
+ * @description GitHub account for managing multiple users, teams, and repositories
*/
- "org-membership": {
+ organization: {
+ /**
+ * @description Unique login name of the organization
+ * @example new-org
+ */
+ login: string;
/**
* Format: uri
- * @example https://api.github.com/orgs/octocat/memberships/defunkt
+ * @description URL for the organization
+ * @example https://api.github.com/orgs/github
*/
url: string;
+ id: number;
+ node_id: string;
+ /** Format: uri */
+ repos_url: string;
+ /** Format: uri */
+ events_url: string;
+ hooks_url: string;
+ issues_url: string;
+ members_url: string;
+ public_members_url: string;
+ avatar_url: string;
+ description: string | null;
/**
- * @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}
+ * Format: uri
+ * @description Display blog url for the organization
+ * @example blog.example-org.com
*/
- state: "active" | "pending";
+ blog?: string;
+ /** Format: uri */
+ html_url: string;
/**
- * @description The user's membership type in the organization.
- * @example admin
- * @enum {string}
+ * @description Display name for the organization
+ * @example New Org
*/
- role: "admin" | "member" | "billing_manager";
+ name?: string;
/**
- * Format: uri
- * @example https://api.github.com/orgs/octocat
+ * @description Display company name for the organization
+ * @example Acme corporation
*/
- organization_url: string;
- organization: components["schemas"]["organization-simple"];
- user: components["schemas"]["nullable-simple-user"];
- permissions?: {
- can_create_repository: boolean;
+ company?: string;
+ /**
+ * @description Display location for the organization
+ * @example Berlin, Germany
+ */
+ location?: string;
+ /**
+ * Format: email
+ * @description Display email for the organization
+ * @example org@example.com
+ */
+ email?: string;
+ /** @description Specifies if organization projects are enabled for this org */
+ has_organization_projects: boolean;
+ /** @description Specifies if repository projects are enabled for repositories that belong to this org */
+ has_repository_projects: boolean;
+ is_verified?: boolean;
+ public_repos: number;
+ public_gists: number;
+ followers: number;
+ following: number;
+ type: string;
+ /** Format: date-time */
+ created_at: string;
+ /** Format: date-time */
+ updated_at: string;
+ plan?: {
+ name?: string;
+ space?: number;
+ private_repos?: number;
+ filled_seats?: number;
+ seats?: number;
};
};
/**
- * Migration
- * @description A migration.
+ * Copilot for Business Seat Detail
+ * @description Information about a Copilot for Business seat assignment for a user, team, or organization.
*/
- migration: {
- /** @example 79 */
- id: number;
- owner: components["schemas"]["nullable-simple-user"];
- /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */
- guid: string;
- /** @example pending */
- state: string;
- /** @example true */
- lock_repositories: boolean;
- exclude_metadata: boolean;
- exclude_git_data: boolean;
- exclude_attachments: boolean;
- exclude_releases: boolean;
- exclude_owner_projects: boolean;
- org_metadata_only: boolean;
- repositories: components["schemas"]["repository"][];
+ "copilot-seat-details": {
+ /** @description The assignee that has been granted access to GitHub Copilot. */
+ assignee: {
+ [key: string]: unknown;
+ } & (
+ | components["schemas"]["simple-user"]
+ | components["schemas"]["team"]
+ | components["schemas"]["organization"]
+ );
+ /** @description The team that granted access to GitHub Copilot to the assignee. This will be null if the user was assigned a seat individually. */
+ assigning_team?: components["schemas"]["team"] | null;
/**
- * Format: uri
- * @example https://api.github.com/orgs/octo-org/migrations/79
+ * 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.
*/
- url: string;
+ pending_cancellation_date?: string | null;
/**
* Format: date-time
- * @example 2015-07-06T15:33:38-07:00
+ * @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
- * @example 2015-07-06T15:33:38-07:00
+ * @description Timestamp of when the assignee's GitHub Copilot access was last updated, in ISO 8601 format.
*/
+ updated_at?: string;
+ };
+ /**
+ * 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;
- node_id: string;
- /** Format: uri */
- archive_url?: string;
- exclude?: unknown[];
+ /**
+ * @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
@@ -11466,6 +13483,7 @@ export interface components {
forks_count?: number;
stargazers_count?: number;
watchers_count?: number;
+ /** @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0. */
size?: number;
default_branch?: string;
open_issues_count?: number;
@@ -11476,6 +13494,7 @@ export interface components {
has_wiki?: boolean;
has_pages?: boolean;
has_downloads?: boolean;
+ has_discussions?: boolean;
archived?: boolean;
disabled?: boolean;
visibility?: string;
@@ -11503,7 +13522,6 @@ export interface components {
};
/** @example admin */
role_name?: string;
- template_repository?: components["schemas"]["nullable-repository"];
temp_clone_token?: string;
delete_branch_on_merge?: boolean;
subscribers_count?: number;
@@ -11523,6 +13541,9 @@ export interface components {
/** @example 0 */
watchers?: number;
allow_forking?: boolean;
+ /** @example false */
+ web_commit_signoff_required?: boolean;
+ security_and_analysis?: components["schemas"]["security-and-analysis"];
} | null;
/**
* Package
@@ -11571,6 +13592,200 @@ export interface components {
/** Format: date-time */
updated_at: string;
};
+ /**
+ * Organization Invitation
+ * @description Organization Invitation
+ */
+ "organization-invitation": {
+ id: number;
+ login: string | null;
+ email: string | null;
+ role: string;
+ created_at: string;
+ failed_at?: string | null;
+ failed_reason?: string | null;
+ inviter: components["schemas"]["simple-user"];
+ team_count: number;
+ /** @example "MDIyOk9yZ2FuaXphdGlvbkludml0YXRpb24x" */
+ node_id: string;
+ /** @example "https://api.github.com/organizations/16/invitations/1/teams" */
+ invitation_teams_url: string;
+ /** @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;
+ };
+ /**
+ * @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"];
+ };
+ /**
+ * Org Membership
+ * @description Org Membership
+ */
+ "org-membership": {
+ /**
+ * Format: uri
+ * @example https://api.github.com/orgs/octocat/memberships/defunkt
+ */
+ url: string;
+ /**
+ * @description The state of the member in the organization. The `pending` state indicates the user has not yet accepted an invitation.
+ * @example active
+ * @enum {string}
+ */
+ state: "active" | "pending";
+ /**
+ * @description The user's membership type in the organization.
+ * @example admin
+ * @enum {string}
+ */
+ role: "admin" | "member" | "billing_manager";
+ /**
+ * Format: uri
+ * @example https://api.github.com/orgs/octocat
+ */
+ organization_url: string;
+ organization: components["schemas"]["organization-simple"];
+ user: components["schemas"]["nullable-simple-user"];
+ permissions?: {
+ can_create_repository: boolean;
+ };
+ };
+ /**
+ * Migration
+ * @description A migration.
+ */
+ migration: {
+ /** @example 79 */
+ id: number;
+ owner: components["schemas"]["nullable-simple-user"];
+ /** @example 0b989ba4-242f-11e5-81e1-c7b6966d2516 */
+ guid: string;
+ /** @example pending */
+ state: string;
+ /** @example true */
+ lock_repositories: boolean;
+ exclude_metadata: boolean;
+ exclude_git_data: boolean;
+ exclude_attachments: boolean;
+ exclude_releases: boolean;
+ exclude_owner_projects: boolean;
+ org_metadata_only: boolean;
+ /** @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[];
+ };
/**
* Package Version
* @description A version of a software package
@@ -11630,11 +13845,83 @@ export interface components {
/** Docker Metadata */
docker?: {
tag?: string[];
- } & {
- tags: unknown;
};
};
};
+ /**
+ * 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 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. 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 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
* @description Projects are a way to organize columns and cards of work.
@@ -11701,385 +13988,1253 @@ export interface components {
private?: boolean;
};
/**
- * GroupMapping
- * @description External Groups to be mapped to a team for membership
+ * Organization Custom Property
+ * @description Custom property defined on an organization
*/
- "group-mapping": {
+ "org-custom-property": {
+ /** @description The name of the property */
+ property_name: string;
/**
- * @description Array of groups to be mapped to this team
- * @example [
- * {
- * "group_id": "111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa",
- * "group_name": "saml-azuread-test",
- * "group_description": "A group of Developers working on AzureAD SAML SSO"
- * },
- * {
- * "group_id": "2bb2bb2b-bb22-22bb-2bb2-bb2bbb2bb2b2",
- * "group_name": "saml-azuread-test2",
- * "group_description": "Another group of Developers working on AzureAD SAML SSO"
- * }
- * ]
+ * @description The type of the value for the property
+ * @example single_select
+ * @enum {string}
*/
- groups?: {
- /**
- * @description The ID of the group
- * @example 111a1a11-aaa1-1aaa-11a1-a1a1a1a1a1aa
- */
- group_id: string;
- /**
- * @description The name of the group
- * @example saml-azuread-test
- */
- group_name: string;
- /**
- * @description a description of the group
- * @example A group of Developers working on AzureAD SAML SSO
- */
- group_description: string;
- /**
- * @description synchronization status for this group mapping
- * @example unsynced
- */
- status?: string;
- /**
- * @description the time of the last sync for this group-mapping
- * @example 2019-06-03 22:27:15:000 -700
- */
- synced_at?: string | null;
- }[];
+ value_type: "string" | "single_select";
+ /** @description Whether the property is required. */
+ required?: boolean;
+ /** @description Default value of the property */
+ default_value?: string | null;
+ /** @description Short description of the property */
+ description?: string | null;
+ /** @description Ordered list of allowed values of the property */
+ allowed_values?: string[] | null;
};
/**
- * Full Team
- * @description Groups of organization members that gives permissions on specified repositories.
+ * Custom Property Value
+ * @description Custom property name and associated value
*/
- "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;
+ "custom-property-value": {
+ /** @description The name of the property */
+ property_name: string;
+ /** @description The value assigned to the property */
+ value: 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"][];
+ };
+ /**
+ * @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`. */
+ actor_id: number;
/**
- * @description The level of privacy this team should have
- * @example closed
+ * @description The type of actor that can bypass a ruleset
* @enum {string}
*/
- privacy?: "closed" | "secret";
+ actor_type:
+ | "RepositoryRole"
+ | "Team"
+ | "Integration"
+ | "OrganizationAdmin";
/**
- * @description Permission that the team will have for its repositories
- * @example push
+ * @description When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests.
+ * @enum {string}
*/
- 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;
+ 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[];
+ };
+ };
+ /**
+ * Organization ruleset conditions
+ * @description Conditions for an organization ruleset. The conditions object should contain both `repository_name` and `ref_name` properties or both `repository_id` and `ref_name` properties.
+ */
+ "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"]);
+ /**
+ * 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";
+ };
+ /**
+ * 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";
+ };
+ /**
+ * 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 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 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;
+ };
+ };
+ /**
+ * 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 Workflows that must pass for this rule to pass. */
+ workflows: components["schemas"]["repository-rule-params-workflow-file-reference"][];
+ };
+ };
+ /**
+ * 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-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-workflows"];
+ /**
+ * 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;
/**
- * Format: date-time
- * @example 2017-07-14T16:53:42Z
+ * @description The target of the ruleset
+ * @enum {string}
*/
- created_at: string;
+ target?: "branch" | "tag";
/**
- * Format: date-time
- * @example 2017-08-17T12:37:15Z
+ * @description The type of the source of the ruleset
+ * @enum {string}
*/
- updated_at: string;
- organization: components["schemas"]["organization-full"];
+ source_type?: "Repository" | "Organization";
+ /** @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 Distinguished Name (DN) that team maps to within LDAP environment
- * @example uid=example,ou=users,dc=github,dc=com
+ * @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}
*/
- ldap_dn?: 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;
+ };
+ };
+ conditions?:
+ | components["schemas"]["repository-ruleset-conditions"]
+ | components["schemas"]["org-ruleset-conditions"];
+ rules?: components["schemas"]["repository-rule"][];
+ /** Format: date-time */
+ created_at?: string;
+ /** Format: date-time */
+ updated_at?: string;
};
/**
- * Team Discussion
- * @description A team discussion is a persistent record of a free-form conversation within a team.
+ * Rule Suites
+ * @description Response
*/
- "team-discussion": {
- author: components["schemas"]["nullable-simple-user"];
+ "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;
/**
- * @description The main text of the discussion.
- * @example Please suggest improvements to our workflow in comments.
+ * Format: date-time
+ * @example 2011-01-26T19:06:43Z
*/
- body: string;
- /** @example Hi! This is an area for us to collaborate as a team */
- body_html: string;
+ pushed_at?: 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
+ * @description The result of the rule evaluations for rules with the `active` enforcement status.
+ * @enum {string}
*/
- body_version: string;
- /** @example 0 */
- comments_count: number;
+ result?: "pass" | "fail" | "bypass";
/**
- * Format: uri
- * @example https://api.github.com/organizations/1/team/2343027/discussions/1/comments
+ * @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}
*/
- comments_url: string;
+ evaluation_result?: "pass" | "fail";
+ }[];
+ /**
+ * 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;
+ /** @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 2018-01-25T18:56:31Z
+ * @example 2011-01-26T19:06:43Z
*/
- created_at: string;
- /** Format: date-time */
- last_edited_at: string | null;
+ pushed_at?: string;
/**
- * Format: uri
- * @example https://github.com/orgs/github/teams/justice-league/discussions/1
+ * @description The result of the rule evaluations for rules with the `active` enforcement status.
+ * @enum {string}
*/
- html_url: string;
- /** @example MDE0OlRlYW1EaXNjdXNzaW9uMQ== */
- node_id: string;
+ result?: "pass" | "fail" | "bypass";
/**
- * @description The unique sequence number of a team discussion.
- * @example 42
+ * @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}
*/
- number: number;
+ evaluation_result?: "pass" | "fail";
+ /** @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 Any associated details with the rule evaluation. */
+ details?: string;
+ }[];
+ };
+ /** @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 Whether or not this discussion should be pinned for easy retrieval.
- * @example true
+ * @description The state of the user's acceptance of the credit.
+ * @enum {string}
*/
- pinned: boolean;
+ state: "accepted" | "declined" | "pending";
+ };
+ /** @description A repository security advisory. */
+ "repository-advisory": {
+ /** @description The GitHub Security Advisory ID. */
+ ghsa_id: string;
+ /** @description The Common Vulnerabilities and Exposures (CVE) ID. */
+ cve_id: string | null;
/**
- * @description Whether or not this discussion should be restricted to team members and organization administrators.
- * @example true
+ * Format: uri
+ * @description The API URL for the advisory.
*/
- private: boolean;
+ url: string;
/**
* Format: uri
- * @example https://api.github.com/organizations/1/team/2343027
+ * @description The URL for the advisory.
*/
- team_url: string;
+ 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 title of the discussion.
- * @example How can we improve our workflow?
+ * @description The severity of the advisory.
+ * @enum {string|null}
*/
- title: string;
+ severity: "critical" | "high" | "medium" | "low" | null;
+ /** @description The author of the advisory. */
+ author: components["schemas"]["simple-user"] | null;
+ /** @description The publisher of the advisory. */
+ publisher: components["schemas"]["simple-user"] | null;
+ identifiers: readonly {
+ /**
+ * @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
- * @example 2018-01-25T18:56:31Z
+ * @description The date and time of when the advisory was created, in ISO 8601 format.
*/
- updated_at: string;
+ created_at: string | null;
/**
- * Format: uri
- * @example https://api.github.com/organizations/1/team/2343027/discussions/1
+ * Format: date-time
+ * @description The date and time of when the advisory was last updated, in ISO 8601 format.
*/
- 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"];
+ updated_at: string | null;
/**
- * @description The main text of the comment.
- * @example I agree with this suggestion.
+ * Format: date-time
+ * @description The date and time of when the advisory was published, in ISO 8601 format.
*/
- body: string;
- /** @example Do you like apples? */
- body_html: string;
+ published_at: string | null;
/**
- * @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
+ * Format: date-time
+ * @description The date and time of when the advisory was closed, in ISO 8601 format.
*/
- body_version: string;
+ closed_at: string | null;
/**
* Format: date-time
- * @example 2018-01-15T23:53:58Z
+ * @description The date and time of when the advisory was withdrawn, in ISO 8601 format.
*/
- created_at: string;
- /** Format: date-time */
- last_edited_at: string | null;
+ withdrawn_at: string | null;
+ 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. */
+ score: number | null;
+ } | null;
+ cwes:
+ | readonly {
+ /** @description The Common Weakness Enumeration (CWE) identifier. */
+ cwe_id: string;
+ /** @description The name of the CWE. */
+ 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;
+ credits_detailed:
+ | readonly 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. */
+ private_fork: components["schemas"]["simple-repository"] | null;
+ };
+ /**
+ * Team Simple
+ * @description Groups of organization members that gives permissions on specified repositories.
+ */
+ "team-simple": {
/**
- * Format: uri
- * @example https://api.github.com/organizations/1/team/2403582/discussions/1
+ * @description Unique identifier of the team
+ * @example 1
*/
- discussion_url: string;
+ id: number;
+ /** @example MDQ6VGVhbTE= */
+ node_id: string;
/**
* Format: uri
- * @example https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1
+ * @description URL for the team
+ * @example https://api.github.com/organizations/1/team/1
*/
- html_url: string;
- /** @example MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE= */
- node_id: string;
+ url: string;
+ /** @example https://api.github.com/organizations/1/team/1/members{/member} */
+ members_url: string;
/**
- * @description The unique sequence number of a team discussion comment.
- * @example 42
+ * @description Name of the team
+ * @example Justice League
*/
- number: number;
+ name: string;
/**
- * Format: date-time
- * @example 2018-01-15T23:53:58Z
+ * @description Description of the team
+ * @example A great team.
*/
- updated_at: string;
+ description: string | null;
/**
- * Format: uri
- * @example https://api.github.com/organizations/1/team/2403582/discussions/1/comments/1
+ * @description Permission that the team will have for its repositories
+ * @example admin
*/
- 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"];
+ permission: string;
/**
- * @description The reaction to use
- * @example heart
- * @enum {string}
+ * @description The level of privacy this team should have
+ * @example closed
*/
- content:
- | "+1"
- | "-1"
- | "laugh"
- | "confused"
- | "heart"
- | "hooray"
- | "rocket"
- | "eyes";
+ privacy?: string;
/**
- * Format: date-time
- * @example 2016-05-20T20:09:31Z
+ * @description The notification setting the team has set
+ * @example notifications_enabled
*/
- created_at: string;
- };
- /**
- * Team Membership
- * @description Team Membership
- */
- "team-membership": {
- /** Format: uri */
- url: string;
+ notification_setting?: string;
/**
- * @description The role of the user in the team.
- * @default member
- * @example member
- * @enum {string}
+ * Format: uri
+ * @example https://github.com/orgs/rails/teams/core
*/
- role: "member" | "maintainer";
+ html_url: string;
/**
- * @description The state of the user's membership in the team.
- * @enum {string}
+ * Format: uri
+ * @example https://api.github.com/organizations/1/team/1/repos
*/
- state: "active" | "pending";
+ 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;
};
- /**
- * 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;
+ "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;
+ };
/**
- * Team Repository
- * @description A team's access to a repository.
+ * Team Organization
+ * @description Team Organization
*/
- "team-repository": {
- /**
- * @description Unique identifier of the repository
- * @example 42
- */
+ "team-organization": {
+ /** @example github */
+ login: string;
+ /** @example 1 */
id: number;
- /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */
+ /** @example MDEyOk9yZ2FuaXphdGlvbjE= */
node_id: string;
/**
- * @description The name of the repository.
- * @example Team Environment
+ * Format: uri
+ * @example https://api.github.com/orgs/github
*/
- 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"];
+ url: string;
/**
- * @description Whether the repository is private or public.
- * @default false
+ * Format: uri
+ * @example https://api.github.com/orgs/github/repos
*/
- private: boolean;
+ repos_url: string;
/**
* Format: uri
- * @example https://github.com/octocat/Hello-World
+ * @example https://api.github.com/orgs/github/events
*/
- html_url: string;
- /** @example This your first repo! */
+ 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;
- fork: boolean;
+ /** @example github */
+ name?: string;
+ /** @example GitHub */
+ company?: string;
/**
* Format: uri
- * @example https://api.github.com/repos/octocat/Hello-World
+ * @example https://github.com/blog
*/
- 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} */
+ 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 administrators.
+ * @example true
+ */
+ private: boolean;
+ /**
+ * Format: uri
+ * @example https://api.github.com/organizations/1/team/2343027
+ */
+ team_url: string;
+ /**
+ * @description The title of the discussion.
+ * @example How can we improve our workflow?
+ */
+ title: string;
+ /**
+ * Format: date-time
+ * @example 2018-01-25T18:56:31Z
+ */
+ updated_at: string;
+ /**
+ * Format: uri
+ * @example https://api.github.com/organizations/1/team/2343027/discussions/1
+ */
+ url: string;
+ reactions?: components["schemas"]["reaction-rollup"];
+ };
+ /**
+ * Team Discussion Comment
+ * @description A reply to a discussion within a team.
+ */
+ "team-discussion-comment": {
+ author: components["schemas"]["nullable-simple-user"];
+ /**
+ * @description The main text of the comment.
+ * @example I agree with this suggestion.
+ */
+ body: string;
+ /** @example Do you like apples? */
+ body_html: string;
+ /**
+ * @description The current version of the body content. If provided, this update operation will be rejected if the given version does not match the latest version on the server.
+ * @example 0307116bbf7ced493b8d8a346c650b71
+ */
+ body_version: string;
+ /**
+ * Format: date-time
+ * @example 2018-01-15T23:53:58Z
+ */
+ created_at: string;
+ /** Format: date-time */
+ last_edited_at: string | null;
+ /**
+ * Format: uri
+ * @example https://api.github.com/organizations/1/team/2403582/discussions/1
+ */
+ discussion_url: string;
+ /**
+ * Format: uri
+ * @example https://github.com/orgs/github/teams/justice-league/discussions/1/comments/1
+ */
+ html_url: string;
+ /** @example MDIxOlRlYW1EaXNjdXNzaW9uQ29tbWVudDE= */
+ node_id: string;
+ /**
+ * @description The unique sequence number of a team discussion comment.
+ * @example 42
+ */
+ number: number;
+ /**
+ * Format: date-time
+ * @example 2018-01-15T23:53:58Z
+ */
+ updated_at: string;
+ /**
+ * Format: uri
+ * @example https://api.github.com/organizations/1/team/2403582/discussions/1/comments/1
+ */
+ url: string;
+ reactions?: components["schemas"]["reaction-rollup"];
+ };
+ /**
+ * Reaction
+ * @description Reactions to conversations provide a way to help people express their feelings more simply and effectively.
+ */
+ reaction: {
+ /** @example 1 */
+ id: number;
+ /** @example MDg6UmVhY3Rpb24x */
+ node_id: string;
+ user: components["schemas"]["nullable-simple-user"];
+ /**
+ * @description The reaction to use
+ * @example heart
+ * @enum {string}
+ */
+ content:
+ | "+1"
+ | "-1"
+ | "laugh"
+ | "confused"
+ | "heart"
+ | "hooray"
+ | "rocket"
+ | "eyes";
+ /**
+ * Format: date-time
+ * @example 2016-05-20T20:09:31Z
+ */
+ created_at: string;
+ };
+ /**
+ * Team Membership
+ * @description Team Membership
+ */
+ "team-membership": {
+ /** Format: uri */
+ url: string;
+ /**
+ * @description The role of the user in the team.
+ * @default member
+ * @example member
+ * @enum {string}
+ */
+ role: "member" | "maintainer";
+ /**
+ * @description The state of the user's membership in the team.
+ * @enum {string}
+ */
+ state: "active" | "pending";
+ };
+ /**
+ * Team Project
+ * @description A team's access to a project.
+ */
+ "team-project": {
+ owner_url: string;
+ url: string;
+ html_url: string;
+ columns_url: string;
+ id: number;
+ node_id: string;
+ name: string;
+ body: string | null;
+ number: number;
+ state: string;
+ creator: components["schemas"]["simple-user"];
+ created_at: string;
+ updated_at: string;
+ /** @description The organization permission for this project. Only present when owner is an organization. */
+ organization_permission?: string;
+ /** @description Whether the project is private or not. Only present when owner is an organization. */
+ private?: boolean;
+ permissions: {
+ read: boolean;
+ write: boolean;
+ admin: boolean;
+ };
+ };
+ /**
+ * Team Repository
+ * @description A team's access to a repository.
+ */
+ "team-repository": {
+ /**
+ * @description Unique identifier of the repository
+ * @example 42
+ */
+ id: number;
+ /** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */
+ node_id: string;
+ /**
+ * @description The name of the repository.
+ * @example Team Environment
+ */
+ name: string;
+ /** @example octocat/Hello-World */
+ full_name: string;
+ license: components["schemas"]["nullable-license-simple"];
+ forks: number;
+ permissions?: {
+ admin: boolean;
+ pull: boolean;
+ triage?: boolean;
+ push: boolean;
+ maintain?: boolean;
+ };
+ /** @example admin */
+ role_name?: string;
+ owner: components["schemas"]["nullable-simple-user"];
+ /**
+ * @description Whether the repository is private or public.
+ * @default false
+ */
+ private: boolean;
+ /**
+ * Format: uri
+ * @example https://github.com/octocat/Hello-World
+ */
+ html_url: string;
+ /** @example This your first repo! */
+ description: string | null;
+ fork: boolean;
+ /**
+ * Format: uri
+ * @example https://api.github.com/repos/octocat/Hello-World
+ */
+ url: string;
+ /** @example http://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref} */
+ archive_url: string;
+ /** @example http://api.github.com/repos/octocat/Hello-World/assignees{/user} */
assignees_url: string;
/** @example http://api.github.com/repos/octocat/Hello-World/git/blobs{/sha} */
blobs_url: string;
@@ -12290,7 +15445,6 @@ export interface components {
* @example true
*/
allow_rebase_merge?: boolean;
- template_repository?: components["schemas"]["nullable-repository"];
temp_clone_token?: string;
/**
* @description Whether to allow squash merges for pull requests.
@@ -12322,6 +15476,12 @@ export interface components {
* @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;
@@ -12448,6 +15608,7 @@ export interface components {
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"];
@@ -12458,53 +15619,39 @@ export interface components {
rate: components["schemas"]["rate-limit"];
};
/**
- * Code Of Conduct Simple
- * @description Code of Conduct Simple
+ * Repository
+ * @description A repository on GitHub.
*/
- "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;
+ "nullable-repository": {
/**
- * Format: uri
- * @example https://github.com/github/docs/blob/main/CODE_OF_CONDUCT.md
+ * @description Unique identifier of the repository
+ * @example 42
*/
- html_url: string | null;
- };
- "security-and-analysis": {
- advanced_security?: {
- /** @enum {string} */
- status?: "enabled" | "disabled";
- };
- secret_scanning?: {
- /** @enum {string} */
- status?: "enabled" | "disabled";
- };
- secret_scanning_push_protection?: {
- /** @enum {string} */
- status?: "enabled" | "disabled";
- };
- } | null;
- /**
- * Full Repository
- * @description Full Repository
- */
- "full-repository": {
- /** @example 1296269 */
id: number;
/** @example MDEwOlJlcG9zaXRvcnkxMjk2MjY5 */
node_id: string;
- /** @example Hello-World */
+ /**
+ * @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
@@ -12658,32 +15805,540 @@ export interface components {
stargazers_count: number;
/** @example 80 */
watchers_count: number;
- /** @example 108 */
+ /**
+ * @description The size of the repository. Size is calculated hourly. When a repository is initially created, the size is 0.
+ * @example 108
+ */
size: number;
- /** @example master */
+ /**
+ * @description The default branch of the repository.
+ * @example master
+ */
default_branch: string;
/** @example 0 */
open_issues_count: number;
- /** @example true */
- is_template?: boolean;
/**
- * @example [
- * "octocat",
- * "atom",
- * "electron",
- * "API"
- * ]
+ * @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[];
- /** @example true */
+ /**
+ * @description Whether issues are enabled.
+ * @default true
+ * @example true
+ */
has_issues: boolean;
- /** @example true */
- has_projects: boolean;
- /** @example true */
- has_wiki: 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;
- /** @example true */
+ /**
+ * @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;
+ 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 has been deprecated. 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;
+ /**
+ * 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": {
+ /** @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. 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;
@@ -12730,8 +16385,48 @@ export interface components {
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 */
@@ -12868,12 +16563,27 @@ export interface components {
* @example queued
* @enum {string}
*/
- status: "queued" | "in_progress" | "completed";
+ status: "queued" | "in_progress" | "completed" | "waiting";
/**
* @description The outcome of the job.
* @example success
+ * @enum {string|null}
*/
- conclusion: 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.
@@ -12955,33 +16665,88 @@ export interface components {
* @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;
};
/**
- * The json payload enables/disables the use of sub claim customization
- * @description OIDC Customer Subject
+ * Actions OIDC subject customization for a repository
+ * @description Actions OIDC subject customization for a repository
*/
- "opt-out-oidc-custom-sub": {
+ "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 Whether GitHub Actions is enabled on the repository. */
- "actions-enabled": boolean;
- "actions-repository-permissions": {
- enabled: components["schemas"]["actions-enabled"];
- allowed_actions?: components["schemas"]["allowed-actions"];
- selected_actions_url?: components["schemas"]["selected-actions-url"];
- };
- "actions-workflow-access-to-repository": {
- /**
- * @description Defines the level of access that workflows outside of the repository have to actions and reusable workflows within the
- * repository. `none` means access is only possible from workflows in this repository.
- * @enum {string}
- */
- access_level: "none" | "organization" | "enterprise";
+ /** @description Array of unique strings. Each claim key can only contain alphanumeric characters and underscores. */
+ include_claim_keys?: string[];
};
/**
- * Referenced workflow
- * @description A workflow referenced/reused by the initial caller workflow
- */
+ * 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 repos 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;
@@ -13013,20 +16778,53 @@ export interface components {
};
/**
* Simple Commit
- * @description 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 */
+ /**
+ * 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;
@@ -13100,6 +16898,7 @@ export interface components {
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;
@@ -13157,6 +16956,11 @@ export interface components {
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
@@ -13195,11 +16999,11 @@ export interface components {
updated_at?: string;
}[];
/**
- * @description Whether deployment to the environment(s) was approved or rejected
+ * @description Whether deployment to the environment(s) was approved or rejected or pending (with comments)
* @example approved
* @enum {string}
*/
- state: "approved" | "rejected";
+ state: "approved" | "rejected" | "pending";
user: components["schemas"]["simple-user"];
/**
* @description The comment submitted with the deployment review
@@ -13207,6 +17011,23 @@ export interface components {
*/
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
@@ -13255,8 +17076,9 @@ export interface components {
/** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */
reviewers: {
type?: components["schemas"]["deployment-reviewer-type"];
- reviewer?: Partial &
- Partial;
+ reviewer?:
+ | components["schemas"]["simple-user"]
+ | components["schemas"]["team"];
}[];
};
/**
@@ -13288,7 +17110,14 @@ export interface components {
* @example deploy
*/
task: string;
- payload: { [key: string]: unknown } | string;
+ payload: OneOf<
+ [
+ {
+ [key: string]: unknown;
+ },
+ string,
+ ]
+ >;
/** @example staging */
original_environment?: string;
/**
@@ -13364,21 +17193,6 @@ export interface components {
};
run_duration_ms?: number;
};
- /**
- * Actions Secret
- * @description Set secrets for GitHub Actions.
- */
- "actions-secret": {
- /**
- * @description The name of the secret.
- * @example SECRET_TOKEN
- */
- name: string;
- /** Format: date-time */
- created_at: string;
- /** Format: date-time */
- updated_at: string;
- };
/**
* Workflow
* @description A GitHub Actions workflow
@@ -13441,6 +17255,50 @@ export interface components {
};
};
};
+ /**
+ * 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.
@@ -13458,8 +17316,27 @@ export interface components {
* @example https://example.com/TICKET?query=
*/
url_template: string;
- /** @description Whether this autolink reference matches alphanumeric characters. If false, this autolink reference is a legacy autolink that only matches numeric characters. */
- is_alphanumeric?: boolean;
+ /**
+ * @description Whether this autolink reference matches alphanumeric characters. If false, this autolink reference only matches numeric characters.
+ * @example true
+ */
+ is_alphanumeric: boolean;
+ };
+ /**
+ * Check Automated Security Fixes
+ * @description Check Automated Security Fixes
+ */
+ "check-automated-security-fixes": {
+ /**
+ * @description Whether automated security fixes are enabled for the repository.
+ * @example true
+ */
+ enabled: boolean;
+ /**
+ * @description Whether automated security fixes are paused for the repository.
+ * @example false
+ */
+ paused: boolean;
};
/**
* Protected Branch Required Status Check
@@ -13528,6 +17405,12 @@ export interface components {
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
@@ -13571,6 +17454,7 @@ export interface components {
slug?: string;
description?: string | null;
privacy?: string;
+ notification_setting?: string;
permission?: string;
members_url?: string;
repositories_url?: string;
@@ -13670,6 +17554,16 @@ export interface components {
/** @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
@@ -13887,6 +17781,11 @@ export interface components {
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;
@@ -13934,6 +17833,16 @@ export interface components {
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
@@ -14034,15 +17943,13 @@ export interface components {
* @enum {string|null}
*/
conclusion:
- | (
- | "success"
- | "failure"
- | "neutral"
- | "cancelled"
- | "skipped"
- | "timed_out"
- | "action_required"
- )
+ | "success"
+ | "failure"
+ | "neutral"
+ | "cancelled"
+ | "skipped"
+ | "timed_out"
+ | "action_required"
| null;
/**
* Format: date-time
@@ -14071,6 +17978,7 @@ export interface components {
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"];
};
@@ -14101,20 +18009,53 @@ export interface components {
};
/**
* Simple Commit
- * @description 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 */
+ /**
+ * 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;
};
@@ -14138,21 +18079,21 @@ export interface components {
* @example completed
* @enum {string|null}
*/
- status: ("queued" | "in_progress" | "completed") | null;
+ status: "queued" | "in_progress" | "completed" | null;
/**
* @example neutral
* @enum {string|null}
*/
conclusion:
- | (
- | "success"
- | "failure"
- | "neutral"
- | "cancelled"
- | "skipped"
- | "timed_out"
- | "action_required"
- )
+ | "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;
@@ -14197,7 +18138,7 @@ export interface components {
* @description The severity of the alert.
* @enum {string|null}
*/
- severity?: ("none" | "note" | "warning" | "error") | null;
+ severity?: "none" | "note" | "warning" | "error" | null;
/** @description A short description of the rule used to detect the alert. */
description?: string;
};
@@ -14209,9 +18150,9 @@ export interface components {
html_url: components["schemas"]["alert-html-url"];
instances_url: components["schemas"]["alert-instances-url"];
state: components["schemas"]["code-scanning-alert-state"];
- fixed_at?: components["schemas"]["code-scanning-alert-fixed-at"];
+ fixed_at?: components["schemas"]["alert-fixed-at"];
dismissed_by: components["schemas"]["nullable-simple-user"];
- dismissed_at: components["schemas"]["code-scanning-alert-dismissed-at"];
+ 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"];
@@ -14226,9 +18167,9 @@ export interface components {
html_url: components["schemas"]["alert-html-url"];
instances_url: components["schemas"]["alert-instances-url"];
state: components["schemas"]["code-scanning-alert-state"];
- fixed_at?: components["schemas"]["code-scanning-alert-fixed-at"];
+ fixed_at?: components["schemas"]["alert-fixed-at"];
dismissed_by: components["schemas"]["nullable-simple-user"];
- dismissed_at: components["schemas"]["code-scanning-alert-dismissed-at"];
+ 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"];
@@ -14253,12 +18194,12 @@ export interface components {
* 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;
+ readonly "code-scanning-analysis-created-at": string;
/**
* Format: uri
* @description The REST API URL of the analysis resource.
*/
- "code-scanning-analysis-url": string;
+ readonly "code-scanning-analysis-url": string;
"code-scanning-analysis": {
ref: components["schemas"]["code-scanning-ref"];
commit_sha: components["schemas"]["code-scanning-analysis-commit-sha"];
@@ -14300,6 +18241,111 @@ export interface components {
*/
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 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?: (
+ | "c-cpp"
+ | "csharp"
+ | "go"
+ | "java-kotlin"
+ | "javascript-typescript"
+ | "javascript"
+ | "python"
+ | "ruby"
+ | "typescript"
+ | "swift"
+ )[];
+ /**
+ * @description CodeQL query suite to be used.
+ * @enum {string}
+ */
+ query_suite?: "default" | "extended";
+ /**
+ * 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 Whether code scanning default setup has been configured or not.
+ * @enum {string}
+ */
+ state: "configured" | "not-configured";
+ /**
+ * @description CodeQL query suite to be used.
+ * @enum {string}
+ */
+ query_suite?: "default" | "extended";
+ /** @description CodeQL languages to be analyzed. */
+ languages?: (
+ | "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 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": {
@@ -14322,7 +18368,7 @@ export interface components {
*/
analyses_url?: string | null;
/** @description Any errors that ocurred during processing of the delivery. */
- errors?: string[] | null;
+ errors?: readonly string[] | null;
};
/**
* CODEOWNERS errors
@@ -14382,7 +18428,7 @@ export interface components {
name: string;
/**
* @description The display name of the machine includes cores, memory, and storage.
- * @example 4 cores, 8 GB RAM, 64 GB storage
+ * @example 4 cores, 16 GB RAM, 64 GB storage
*/
display_name: string;
/**
@@ -14397,7 +18443,7 @@ export interface components {
storage_in_bytes: number;
/**
* @description How much memory is available to the codespace.
- * @example 8589934592
+ * @example 17179869184
*/
memory_in_bytes: number;
/**
@@ -14410,7 +18456,18 @@ export interface components {
* @example ready
* @enum {string|null}
*/
- prebuild_availability: ("none" | "ready" | "in_progress") | 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
@@ -14427,30 +18484,6 @@ export interface components {
/** Format: date-time */
updated_at: string;
};
- /**
- * CodespacesPublicKey
- * @description The public key used for setting Codespaces secrets.
- */
- "codespaces-public-key": {
- /**
- * @description The identifier for the key.
- * @example 1234567
- */
- key_id: string;
- /**
- * @description The Base64 encoded public key.
- * @example hBT5WZEj8ZoOv6TYJsfWq7MxTEQopZO5/IT3ZCVQPzs=
- */
- key: string;
- /** @example 2 */
- id?: number;
- /** @example https://api.github.com/user/keys/2 */
- url?: string;
- /** @example ssh-rsa AAAAB3NzaC1yc2EAAA */
- title?: string;
- /** @example 2011-01-26T19:01:12Z */
- created_at?: string;
- };
/**
* Collaborator
* @description Collaborator
@@ -14853,7 +18886,7 @@ export interface components {
state: string;
context: string;
/** Format: uri */
- target_url: string;
+ target_url: string | null;
required?: boolean | null;
/** Format: uri */
avatar_url: string | null;
@@ -14889,8 +18922,8 @@ export interface components {
id: number;
node_id: string;
state: string;
- description: string;
- target_url: string;
+ description: string | null;
+ target_url: string | null;
context: string;
created_at: string;
updated_at: string;
@@ -15047,16 +19080,14 @@ export interface components {
/** Format: uri */
self: string;
};
- } & {
- content: unknown;
- encoding: unknown;
};
/**
* Content Directory
* @description A list of directory items
*/
"content-directory": {
- type: string;
+ /** @enum {string} */
+ type: "dir" | "file" | "submodule" | "symlink";
size: number;
name: string;
path: string;
@@ -15084,7 +19115,8 @@ export interface components {
* @description Content File
*/
"content-file": {
- type: string;
+ /** @enum {string} */
+ type: "file";
encoding: string;
size: number;
name: string;
@@ -15117,7 +19149,8 @@ export interface components {
* @description An object describing a symlink
*/
"content-symlink": {
- type: string;
+ /** @enum {string} */
+ type: "symlink";
target: string;
size: number;
name: string;
@@ -15141,11 +19174,12 @@ export interface components {
};
};
/**
- * Symlink Content
- * @description An object describing a symlink
+ * Submodule Content
+ * @description An object describing a submodule
*/
"content-submodule": {
- type: string;
+ /** @enum {string} */
+ type: "submodule";
/** Format: uri */
submodule_git_url: string;
size: number;
@@ -15258,6 +19292,49 @@ export interface components {
email?: string;
name?: string;
};
+ /** @description A Dependabot alert. */
+ "dependabot-alert": {
+ number: components["schemas"]["alert-number"];
+ /**
+ * @description The state of the Dependabot alert.
+ * @enum {string}
+ */
+ state: "auto_dismissed" | "dismissed" | "fixed" | "open";
+ /** @description Details for the vulnerable dependency. */
+ dependency: {
+ readonly 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;
+ };
+ 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.
@@ -15304,18 +19381,126 @@ export interface components {
/** @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;
+ 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 name of the repository that the SPDX document describes. */
+ documentDescribes: string[];
+ /**
+ * @description The namespace for the SPDX document.
+ * @example https://github.com/example/dependency_graph/sbom-123
+ */
+ documentNamespace: string;
+ packages: {
+ /**
+ * @description A unique SPDX identifier for the package.
+ * @example SPDXRef-Package
+ */
+ SPDXID?: string;
+ /**
+ * @description The name of the package.
+ * @example rubygems: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;
+ 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;
+ }[];
+ }[];
+ };
+ };
/**
* metadata
* @description User-defined metadata to store domain-specific information limited to 8 keys with scalar values.
*/
metadata: {
- [key: string]: Partial & Partial & Partial;
+ [key: string]: (string | number | boolean) | null;
};
- /**
- * Dependency
- * @description A single package dependency.
- */
dependency: {
/**
* @description Package-url (PURL) of dependency. See https://github.com/package-url/purl-spec for more details.
@@ -15341,10 +19526,6 @@ export interface components {
*/
dependencies?: string[];
};
- /**
- * manifest
- * @description A collection of related dependencies declared in a file or representing a logical group of dependencies.
- */
manifest: {
/**
* @description The name of the manifest.
@@ -15359,7 +19540,10 @@ export interface components {
source_location?: string;
};
metadata?: components["schemas"]["metadata"];
- resolved?: { [key: string]: components["schemas"]["dependency"] };
+ /** @description A collection of resolved package dependencies. */
+ resolved?: {
+ [key: string]: components["schemas"]["dependency"];
+ };
};
/**
* snapshot
@@ -15386,7 +19570,7 @@ export interface components {
html_url?: string;
};
/**
- * @description The commit SHA associated with this dependency snapshot.
+ * @description The commit SHA associated with this dependency snapshot. Maximum length: 40 characters.
* @example ddc951f4b1293222421f2c8df679786153acf689
*/
sha: string;
@@ -15414,8 +19598,10 @@ export interface components {
url: string;
};
metadata?: components["schemas"]["metadata"];
- /** @description A collection of package manifests */
- manifests?: { [key: string]: components["schemas"]["manifest"] };
+ /** @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.
@@ -15512,7 +19698,7 @@ export interface components {
*/
"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": {
+ "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`. */
@@ -15551,38 +19737,152 @@ export interface components {
* @example 2020-11-23T22:00:40Z
*/
updated_at: string;
- protection_rules?: (Partial<{
- /** @example 3515 */
- id: number;
- /** @example MDQ6R2F0ZTM1MTU= */
- node_id: string;
- /** @example wait_timer */
- type: string;
- wait_timer?: components["schemas"]["wait-timer"];
- }> &
- Partial<{
- /** @example 3755 */
- id: number;
- /** @example MDQ6R2F0ZTM3NTU= */
- node_id: string;
- /** @example required_reviewers */
- type: string;
- /** @description The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. */
- reviewers?: {
- type?: components["schemas"]["deployment-reviewer-type"];
- reviewer?: Partial &
- Partial;
- }[];
- }> &
- Partial<{
- /** @example 3515 */
- id: number;
- /** @example MDQ6R2F0ZTM1MTU= */
- node_id: string;
- /** @example branch_policy */
- type: string;
- }>)[];
- deployment_branch_policy?: components["schemas"]["deployment-branch-policy"];
+ /** @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
@@ -15984,6 +20284,7 @@ export interface components {
* @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;
/**
@@ -16014,8 +20315,9 @@ export interface components {
/**
* @description The reason for the current state
* @example not_planned
+ * @enum {string|null}
*/
- state_reason?: string | null;
+ state_reason?: "completed" | "reopened" | "not_planned" | null;
/**
* @description Title of the issue
* @example Widget creation fails in Safari on OS X 10.8
@@ -16034,9 +20336,10 @@ export interface components {
* "registration"
* ]
*/
- labels: (
- | string
- | {
+ labels: OneOf<
+ [
+ string,
+ {
/** Format: int64 */
id?: number;
node_id?: string;
@@ -16046,8 +20349,9 @@ export interface components {
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"];
@@ -16132,7 +20436,10 @@ export interface components {
* @description Issue Event
*/
"issue-event": {
- /** @example 1 */
+ /**
+ * Format: int64
+ * @example 1
+ */
id: number;
/** @example MDEwOklzc3VlRXZlbnQx */
node_id: string;
@@ -16473,23 +20780,22 @@ export interface components {
* Issue Event for Issue
* @description Issue Event for Issue
*/
- "issue-event-for-issue": Partial<
- components["schemas"]["labeled-issue-event"]
- > &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial;
+ "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).
@@ -16759,12 +21065,12 @@ export interface components {
* @description The line index in the diff to which the comment applies. This field is deprecated; use `line` instead.
* @example 1
*/
- position: number;
+ position?: number;
/**
* @description The index of the original line in the diff to which the comment applies. This field is deprecated; use `original_line` instead.
* @example 4
*/
- original_position: number;
+ original_position?: number;
/**
* @description The SHA of the commit to which the comment applies.
* @example 6dcb09b5b57875f334f61aebed695e2e4193db5e
@@ -16847,7 +21153,7 @@ export interface components {
* @default RIGHT
* @enum {string|null}
*/
- start_side?: ("LEFT" | "RIGHT") | 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
@@ -16864,6 +21170,11 @@ export interface components {
* @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;
@@ -16941,30 +21252,29 @@ export interface components {
* Timeline Event
* @description Timeline Event
*/
- "timeline-issue-events": Partial<
- components["schemas"]["labeled-issue-event"]
- > &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial &
- Partial;
+ "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.
@@ -16977,12 +21287,16 @@ export interface components {
verified: boolean;
created_at: string;
read_only: boolean;
+ added_by?: string | null;
+ last_used?: string | null;
};
/**
* Language
* @description Language
*/
- language: { [key: string]: number };
+ language: {
+ [key: string]: number;
+ };
/**
* License Content
* @description License Content
@@ -17145,7 +21459,7 @@ export interface components {
* @example built
* @enum {string|null}
*/
- status: ("built" | "building" | "errored") | null;
+ status: "built" | "building" | "errored" | null;
/**
* @description The Pages site's custom domain
* @example example.com
@@ -17156,7 +21470,7 @@ export interface components {
* @example pending
* @enum {string|null}
*/
- protected_domain_state?: ("pending" | "verified" | "unverified") | null;
+ protected_domain_state?: "pending" | "verified" | "unverified" | null;
/**
* Format: date-time
* @description The timestamp when a pending domain becomes unverified.
@@ -17179,7 +21493,7 @@ export interface components {
* @example legacy
* @enum {string|null}
*/
- build_type?: ("legacy" | "workflow") | 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.
@@ -17225,6 +21539,30 @@ export interface components {
/** @example queued */
status: string;
};
+ /**
+ * GitHub Pages
+ * @description The GitHub Pages deployment status.
+ */
+ "page-deployment": {
+ /**
+ * Format: uri
+ * @description The URI to monitor GitHub Pages deployment status.
+ * @example https://api.github.com/repos/github/hello-world/pages/deployments/4fd754f7e594640989b406850d0bc8f06a121251/status
+ */
+ 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;
+ };
/**
* Pages Health Check Status
* @description Pages Health Check Status
@@ -17291,64 +21629,6 @@ export interface components {
caa_error?: string | null;
} | null;
};
- /**
- * Team Simple
- * @description Groups of organization members that gives permissions on specified repositories.
- */
- "team-simple": {
- /**
- * @description Unique identifier of the team
- * @example 1
- */
- id: number;
- /** @example MDQ6VGVhbTE= */
- node_id: string;
- /**
- * Format: uri
- * @description URL for the team
- * @example https://api.github.com/organizations/1/team/1
- */
- url: string;
- /** @example https://api.github.com/organizations/1/team/1/members{/member} */
- members_url: string;
- /**
- * @description Name of the team
- * @example Justice League
- */
- name: string;
- /**
- * @description Description of the team
- * @example A great team.
- */
- description: string | null;
- /**
- * @description Permission that the team will have for its repositories
- * @example admin
- */
- permission: string;
- /**
- * @description The level of privacy this team should have
- * @example closed
- */
- privacy?: string;
- /**
- * Format: uri
- * @example https://github.com/orgs/rails/teams/core
- */
- html_url: string;
- /**
- * Format: uri
- * @example https://api.github.com/organizations/1/team/1/repos
- */
- repositories_url: string;
- /** @example justice-league */
- slug: string;
- /**
- * @description Distinguished Name (DN) that team maps to within LDAP environment
- * @example uid=example,ou=users,dc=github,dc=com
- */
- ldap_dn?: string;
- };
/**
* Pull Request
* @description Pull requests let you tell others about changes you've pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary.
@@ -17423,7 +21703,7 @@ export interface components {
* @example Amazing new feature
*/
title: string;
- user: components["schemas"]["nullable-simple-user"];
+ user: components["schemas"]["simple-user"];
/** @example Please pull these awesome changes */
body: string | null;
labels: {
@@ -17567,6 +21847,7 @@ export interface components {
has_projects: boolean;
has_wiki: boolean;
has_pages: boolean;
+ has_discussions: boolean;
/** Format: uri */
homepage: string | null;
language: string | null;
@@ -17614,6 +21895,7 @@ export interface components {
updated_at: string;
allow_forking?: boolean;
is_template?: boolean;
+ web_commit_signoff_required?: boolean;
} | null;
sha: string;
user: {
@@ -17748,6 +22030,7 @@ export interface components {
has_projects: boolean;
has_wiki: boolean;
has_pages: boolean;
+ has_discussions: boolean;
/** Format: uri */
homepage: string | null;
language: string | null;
@@ -17787,6 +22070,7 @@ export interface components {
/** Format: date-time */
updated_at: string;
allow_forking?: boolean;
+ web_commit_signoff_required?: boolean;
};
sha: string;
user: {
@@ -17919,10 +22203,10 @@ export interface components {
/** Format: date-time */
submitted_at?: string;
/**
- * @description A commit SHA for the review.
+ * @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;
+ commit_id: string | null;
body_html?: string;
body_text?: string;
author_association: components["schemas"]["author-association"];
@@ -18000,7 +22284,7 @@ export interface components {
* @default RIGHT
* @enum {string|null}
*/
- start_side?: ("LEFT" | "RIGHT") | 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
@@ -18122,10 +22406,60 @@ export interface components {
/** @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-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-workflows"] &
+ 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"]["alert-updated-at"];
+ updated_at?: components["schemas"]["nullable-alert-updated-at"];
url?: components["schemas"]["alert-url"];
html_url?: components["schemas"]["alert-html-url"];
/**
@@ -18141,6 +22475,8 @@ export interface components {
*/
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;
/**
@@ -18158,7 +22494,14 @@ export interface components {
* @description The time that push protection was bypassed in ISO 8601 format: `YYYY-MM-DDTHH:MM:SSZ`.
*/
push_protection_bypassed_at?: string | null;
+ /**
+ * @description The token status as of the latest validity check.
+ * @enum {string}
+ */
+ validity?: "active" | "inactive" | "unknown";
};
+ /** @description An optional comment when closing an alert. Cannot be updated or deleted. Must be `null` when changing `state` to `open`. */
+ "secret-scanning-alert-resolution-comment": string | null;
/** @description Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. */
"secret-scanning-location-commit": {
/**
@@ -18189,14 +22532,166 @@ export interface components {
/** @description The API URL to get the associated commit resource */
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;
+ };
"secret-scanning-location": {
/**
* @description The location type. Because secrets may be found in different types of resources (ie. code, comments, issues), this field identifies the type of resource where the secret was found.
* @example commit
* @enum {string}
*/
- type: "commit";
- details: components["schemas"]["secret-scanning-location-commit"];
+ type: "commit" | "issue_title" | "issue_body" | "issue_comment";
+ details:
+ | components["schemas"]["secret-scanning-location-commit"]
+ | components["schemas"]["secret-scanning-location-issue-title"]
+ | components["schemas"]["secret-scanning-location-issue-body"]
+ | components["schemas"]["secret-scanning-location-issue-comment"];
+ };
+ "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;
+ };
+ "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;
+ };
+ "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
@@ -18395,221 +22890,6 @@ export interface components {
uniques: number;
views: components["schemas"]["traffic"][];
};
- "scim-group-list-enterprise": {
- schemas: string[];
- totalResults: number;
- itemsPerPage: number;
- startIndex: number;
- Resources: {
- schemas: string[];
- id: string;
- externalId?: string | null;
- displayName?: string;
- members?: {
- value?: string;
- $ref?: string;
- display?: string;
- }[];
- meta?: {
- resourceType?: string;
- created?: string;
- lastModified?: string;
- location?: string;
- };
- }[];
- };
- "scim-enterprise-group": {
- schemas: string[];
- id: string;
- externalId?: string | null;
- displayName?: string;
- members?: {
- value?: string;
- $ref?: string;
- display?: string;
- }[];
- meta?: {
- resourceType?: string;
- created?: string;
- lastModified?: string;
- location?: string;
- };
- };
- "scim-user-list-enterprise": {
- schemas: string[];
- totalResults: number;
- itemsPerPage: number;
- startIndex: number;
- Resources: {
- schemas: string[];
- id: string;
- externalId?: string;
- userName?: string;
- name?: {
- givenName?: string;
- familyName?: string;
- };
- emails?: {
- value?: string;
- primary?: boolean;
- type?: string;
- }[];
- groups?: {
- value?: string;
- }[];
- active?: boolean;
- meta?: {
- resourceType?: string;
- created?: string;
- lastModified?: string;
- location?: string;
- };
- }[];
- };
- "scim-enterprise-user": {
- schemas: string[];
- id: string;
- externalId?: string;
- userName?: string;
- name?: {
- givenName?: string;
- familyName?: string;
- };
- emails?: {
- value?: string;
- type?: string;
- primary?: boolean;
- }[];
- groups?: {
- value?: string;
- }[];
- active?: boolean;
- meta?: {
- resourceType?: string;
- created?: string;
- lastModified?: string;
- location?: string;
- };
- };
- /**
- * SCIM /Users
- * @description SCIM /Users provisioning endpoints
- */
- "scim-user": {
- /** @description SCIM schema used. */
- schemas: string[];
- /**
- * @description Unique identifier of an external identity
- * @example 1b78eada-9baa-11e6-9eb6-a431576d590e
- */
- id: string;
- /**
- * @description The ID of the User.
- * @example a7b0f98395
- */
- externalId: string | null;
- /**
- * @description Configured by the admin. Could be an email, login, or username
- * @example someone@example.com
- */
- userName: string | null;
- /**
- * @description The name of the user, suitable for display to end-users
- * @example Jon Doe
- */
- displayName?: string | null;
- /**
- * @example {
- * "givenName": "Jane",
- * "familyName": "User"
- * }
- */
- name: {
- givenName: string | null;
- familyName: string | null;
- formatted?: string | null;
- };
- /**
- * @description user emails
- * @example [
- * {
- * "value": "someone@example.com",
- * "primary": true
- * },
- * {
- * "value": "another@example.com",
- * "primary": false
- * }
- * ]
- */
- emails: {
- value: string;
- primary?: boolean;
- }[];
- /**
- * @description The active status of the User.
- * @example true
- */
- active: boolean;
- meta: {
- /** @example User */
- resourceType?: string;
- /**
- * Format: date-time
- * @example 2019-01-24T22:45:36.000Z
- */
- created?: string;
- /**
- * Format: date-time
- * @example 2019-01-24T22:45:36.000Z
- */
- lastModified?: string;
- /**
- * Format: uri
- * @example https://api.github.com/scim/v2/organizations/myorg-123abc55141bfd8f/Users/c42772b5-2029-11e9-8543-9264a97dec8d
- */
- location?: string;
- };
- /** @description The ID of the organization. */
- organization_id?: number;
- /**
- * @description Set of operations to be performed
- * @example [
- * {
- * "op": "replace",
- * "value": {
- * "active": false
- * }
- * }
- * ]
- */
- operations?: {
- /** @enum {string} */
- op: "add" | "remove" | "replace";
- path?: string;
- value?: string | { [key: string]: unknown } | unknown[];
- }[];
- /** @description associated groups */
- groups?: {
- value?: string;
- display?: string;
- }[];
- };
- /**
- * SCIM User List
- * @description SCIM User List
- */
- "scim-user-list": {
- /** @description SCIM schema used. */
- schemas: string[];
- /** @example 3 */
- totalResults: number;
- /** @example 10 */
- itemsPerPage: number;
- /** @example 1 */
- startIndex: number;
- Resources: components["schemas"]["scim-user"][];
- };
/** Search Result Text Matches */
"search-result-text-matches": {
object_url?: string;
@@ -18709,6 +22989,7 @@ export interface components {
events_url: string;
/** Format: uri */
html_url: string;
+ /** Format: int64 */
id: number;
node_id: string;
number: number;
@@ -18878,6 +23159,7 @@ export interface components {
has_pages: boolean;
has_wiki: boolean;
has_downloads: boolean;
+ has_discussions?: boolean;
archived: boolean;
/** @description Returns whether or not this repository disabled. */
disabled: boolean;
@@ -18900,6 +23182,8 @@ export interface components {
delete_branch_on_merge?: boolean;
allow_forking?: boolean;
is_template?: boolean;
+ /** @example false */
+ web_commit_signoff_required?: boolean;
};
/**
* Topic Search Result Item
@@ -19131,12 +23415,12 @@ export interface components {
name: string;
/**
* Format: date-time
- * @description Secret created at
+ * @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 Secret last updated at
+ * @description The date and time at which the secret was last updated, in ISO 8601 format':' YYYY-MM-DDTHH:MM:SSZ.
*/
updated_at: string;
/**
@@ -19146,7 +23430,7 @@ export interface components {
visibility: "all" | "private" | "selected";
/**
* Format: uri
- * @description API URL at which the list of repositories this secret is vicible can be retrieved
+ * @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;
@@ -19209,6 +23493,172 @@ export interface components {
*/
html_url?: string | null;
};
+ /**
+ * Codespace
+ * @description A codespace.
+ */
+ "codespace-with-full-repository": {
+ /** @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
@@ -19260,7 +23710,6 @@ export interface components {
* "key_id": "4A595D4C72EE49C7",
* "public_key": "zsBNBFayYZ...",
* "emails": [],
- * "subkeys": [],
* "can_sign": false,
* "can_encrypt_comms": true,
* "can_encrypt_storage": true,
@@ -19276,7 +23725,10 @@ export interface components {
primary_key_id?: number;
key_id?: string;
public_key?: string;
- emails?: unknown[];
+ emails?: {
+ email?: string;
+ verified?: boolean;
+ }[];
subkeys?: unknown[];
can_sign?: boolean;
can_encrypt_comms?: boolean;
@@ -19359,6 +23811,27 @@ export interface components {
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
@@ -19386,2563 +23859,64610 @@ export interface components {
id: number;
key: string;
};
- };
- responses: {
- /** Resource not found */
- not_found: {
- content: {
- "application/json": components["schemas"]["basic-error"];
- };
- };
- /** Validation failed */
- validation_failed_simple: {
- content: {
- "application/json": components["schemas"]["validation-error-simple"];
- };
- };
- /** Bad Request */
- bad_request: {
- content: {
- "application/json": components["schemas"]["basic-error"];
- "application/scim+json": components["schemas"]["scim-error"];
- };
- };
- /** Validation failed */
- validation_failed: {
- content: {
- "application/json": components["schemas"]["validation-error"];
- };
- };
- /** Accepted */
- accepted: {
- content: {
- "application/json": { [key: string]: unknown };
- };
- };
- /** Forbidden */
- forbidden: {
- content: {
- "application/json": components["schemas"]["basic-error"];
- };
- };
- /** Requires authentication */
- requires_authentication: {
- content: {
- "application/json": components["schemas"]["basic-error"];
- };
- };
- /** Not modified */
- not_modified: unknown;
- /** Gone */
- gone: {
- content: {
- "application/json": components["schemas"]["basic-error"];
- };
- };
- /** Response */
- actions_runner_labels: {
- content: {
- "application/json": {
- total_count: number;
- labels: components["schemas"]["runner-label"][];
- };
- };
- };
- /** Response */
- actions_runner_labels_readonly: {
- content: {
- "application/json": {
- total_count: number;
- labels: components["schemas"]["runner-label"][];
- };
- };
- };
- /** Response if GitHub Advanced Security is not enabled for this repository */
- code_scanning_forbidden_read: {
- content: {
- "application/json": components["schemas"]["basic-error"];
- };
- };
- /** Service unavailable */
- service_unavailable: {
- content: {
- "application/json": {
- code?: string;
- message?: string;
- documentation_url?: string;
- };
- };
- };
- /** Forbidden Gist */
- forbidden_gist: {
- content: {
- "application/json": {
- block?: {
- reason?: string;
- created_at?: string;
- html_url?: string | null;
- };
- message?: string;
- documentation_url?: string;
- };
- };
- };
- /** Moved permanently */
- moved_permanently: {
- content: {
- "application/json": components["schemas"]["basic-error"];
- };
- };
- /** Conflict */
- conflict: {
- content: {
- "application/json": components["schemas"]["basic-error"];
- };
- };
- /** Internal Error */
- internal_error: {
- content: {
- "application/json": components["schemas"]["basic-error"];
- };
- };
- /** Temporary Redirect */
- temporary_redirect: {
- content: {
- "application/json": components["schemas"]["basic-error"];
- };
- };
- /** Response if the repository is archived or if github advanced security is not enabled for this repository */
- code_scanning_forbidden_write: {
- content: {
- "application/json": components["schemas"]["basic-error"];
- };
- };
- /** Found */
- found: unknown;
- /** A header with no content is returned. */
- no_content: unknown;
- /** Resource not found */
- scim_not_found: {
- content: {
- "application/json": components["schemas"]["scim-error"];
- "application/scim+json": components["schemas"]["scim-error"];
- };
- };
- /** Forbidden */
- scim_forbidden: {
- content: {
- "application/json": components["schemas"]["scim-error"];
- "application/scim+json": components["schemas"]["scim-error"];
- };
- };
- /** Bad Request */
- scim_bad_request: {
- content: {
- "application/json": components["schemas"]["scim-error"];
- "application/scim+json": components["schemas"]["scim-error"];
- };
- };
- /** Too Many Requests */
- scim_too_many_requests: {
- content: {
- "application/json": components["schemas"]["scim-error"];
- "application/scim+json": components["schemas"]["scim-error"];
- };
- };
- /** Internal Error */
- scim_internal_error: {
- content: {
- "application/json": components["schemas"]["scim-error"];
- "application/scim+json": components["schemas"]["scim-error"];
- };
- };
- /** Conflict */
- scim_conflict: {
- content: {
- "application/json": components["schemas"]["scim-error"];
- "application/scim+json": components["schemas"]["scim-error"];
- };
- };
- };
- parameters: {
- /** @description The number of results per page (max 100). */
- "per-page": number;
- /** @description Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */
- cursor: string;
- "delivery-id": number;
- /** @description Page number of the results to fetch. */
- page: number;
- /** @description Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */
- since: string;
- /** @description The unique identifier of the installation. */
- "installation-id": number;
- /** @description The unique identifier of the grant. */
- "grant-id": number;
- /** @description The client ID of the GitHub app. */
- "client-id": string;
- "app-slug": string;
- /** @description The client ID of the OAuth app. */
- "oauth-client-id": string;
- /** @description The unique identifier of the authorization. */
- "authorization-id": number;
- /** @description The slug version of the enterprise name or the login of an organization. */
- "enterprise-or-org": string;
- /** @description The slug version of the enterprise name. You can also substitute this value with the enterprise id. */
- enterprise: string;
- /** @description The unique identifier of the organization. */
- "org-id": number;
- /** @description Only return runner groups that are allowed to be used by this organization. */
- "visible-to-organization": string;
- /** @description Unique identifier of the self-hosted runner group. */
- "runner-group-id": number;
- /** @description Unique identifier of the self-hosted runner. */
- "runner-id": number;
- /** @description The name of a self-hosted runner's custom label. */
- "runner-label-name": string;
- /** @description A search phrase. For more information, see [Searching the audit log](https://docs.github.com/github/setting-up-and-managing-organizations-and-teams/reviewing-the-audit-log-for-your-organization#searching-the-audit-log). */
- "audit-log-phrase": string;
/**
- * @description The event types to include:
- *
- * - `web` - returns web (non-Git) events.
- * - `git` - returns Git events.
- * - `all` - returns both web and Git events.
- *
- * The default is `web`.
+ * 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)."
*/
- "audit-log-include": "web" | "git" | "all";
- /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */
- "audit-log-after": string;
- /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */
- "audit-log-before": string;
+ "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;
+ };
/**
- * @description The order of audit log events. To list newest events first, specify `desc`. To list oldest events first, specify `asc`.
- *
- * The default is `desc`.
+ * 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)."
*/
- "audit-log-order": "desc" | "asc";
- /** @description The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both. */
- "tool-name": components["schemas"]["code-scanning-analysis-tool-name"];
- /** @description The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both. */
- "tool-guid": components["schemas"]["code-scanning-analysis-tool-guid"];
- /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. */
- "pagination-before": string;
- /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. */
- "pagination-after": string;
- /** @description The direction to sort the results by. */
- direction: "asc" | "desc";
- /** @description Set to `open` or `resolved` to only list secret scanning alerts in a specific state. */
- "secret-scanning-alert-state": "open" | "resolved";
+ "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;
+ };
/**
- * @description A comma-separated list of secret types to return. By default all secret types are returned.
- * See "[Secret scanning patterns](https://docs.github.com/code-security/secret-scanning/secret-scanning-patterns#supported-secrets-for-advanced-security)"
- * for a complete list of secret types.
+ * 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.
*/
- "secret-scanning-alert-secret-type": string;
- /** @description A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`. */
- "secret-scanning-alert-resolution": string;
- /** @description The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. */
- "secret-scanning-alert-sort": "created" | "updated";
- /** @description The unique identifier of the gist. */
- "gist-id": string;
- /** @description The unique identifier of the comment. */
- "comment-id": number;
- /** @description A list of comma separated label names. Example: `bug,ui,@high` */
- labels: string;
- /** @description account_id parameter */
- "account-id": number;
- /** @description The unique identifier of the plan. */
- "plan-id": number;
- /** @description The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed to. */
- sort: "created" | "updated";
- /** @description The account owner of the repository. The name is not case sensitive. */
- owner: string;
- /** @description The name of the repository. The name is not case sensitive. */
- repo: string;
- /** @description If `true`, show notifications marked as read. */
- all: boolean;
- /** @description If `true`, only shows notifications in which the user is directly participating or mentioned. */
- participating: boolean;
- /** @description Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`. */
- before: string;
- /** @description The unique identifier of the pull request thread. */
- "thread-id": number;
- /** @description An organization ID. Only return organizations with an ID greater than this ID. */
- "since-org": number;
- /** @description The organization name. The name is not case sensitive. */
- org: string;
- /** @description The unique identifier of the repository. */
- "repository-id": number;
- /** @description Only return runner groups that are allowed to be used by this repository. */
- "visible-to-repository": string;
- /** @description The name of the secret. */
- "secret-name": string;
- /** @description The handle for the GitHub user account. */
- username: string;
- /** @description The unique identifier of the group. */
- "group-id": number;
- /** @description The unique identifier of the hook. */
- "hook-id": number;
- /** @description The unique identifier of the invitation. */
- "invitation-id": number;
- /** @description The name of the codespace. */
- "codespace-name": string;
- /** @description The unique identifier of the migration. */
- "migration-id": number;
- /** @description repo_name parameter */
- "repo-name": string;
- /** @description The selected visibility of the packages. Only `container` package_types currently support `internal` visibility properly. For other ecosystems `internal` is synonymous with `private`. This parameter is optional and only filters an existing result set. */
- "package-visibility": "public" | "private" | "internal";
- /** @description The type of supported package. Packages in GitHub's Gradle registry have the type `maven`. Docker images pushed to GitHub's Container registry (`ghcr.io`) have the type `container`. You can use the type `docker` to find images that were pushed to GitHub's Docker registry (`docker.pkg.github.com`), even if these have now been migrated to the Container registry. */
- "package-type":
- | "npm"
- | "maven"
- | "rubygems"
- | "docker"
- | "nuget"
- | "container";
- /** @description The name of the package. */
- "package-name": string;
- /** @description Unique identifier of the package version. */
- "package-version-id": number;
- /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string. */
- "secret-scanning-pagination-before-org-repo": string;
- /** @description A cursor, as given in the [Link header](https://docs.github.com/rest/overview/resources-in-the-rest-api#link-header). If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string. */
- "secret-scanning-pagination-after-org-repo": string;
- /** @description The slug of the team name. */
- "team-slug": string;
- /** @description The number that identifies the discussion. */
- "discussion-number": number;
- /** @description The number that identifies the comment. */
- "comment-number": number;
- /** @description The unique identifier of the reaction. */
- "reaction-id": number;
- /** @description The unique identifier of the project. */
- "project-id": number;
- /** @description The unique identifier of the card. */
- "card-id": number;
- /** @description The unique identifier of the column. */
- "column-id": number;
- /** @description The unique identifier of the artifact. */
- "artifact-id": number;
- /** @description The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/` or simply ``. To reference a pull request use `refs/pull//merge`. */
- "git-ref": components["schemas"]["code-scanning-ref"];
- /** @description An explicit key or prefix for identifying the cache */
- "actions-cache-key": string;
- /** @description The property to sort the results by. `created_at` means when the cache was created. `last_accessed_at` means when the cache was last accessed. `size_in_bytes` is the size of the cache in bytes. */
- "actions-cache-list-sort":
- | "created_at"
- | "last_accessed_at"
- | "size_in_bytes";
- /** @description A key for identifying the cache. */
- "actions-cache-key-required": string;
- /** @description The unique identifier of the GitHub Actions cache. */
- "cache-id": number;
- /** @description The unique identifier of the job. */
- "job-id": number;
- /** @description Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run. */
- actor: string;
- /** @description Returns workflow runs associated with a branch. Use the name of the branch of the `push`. */
- "workflow-run-branch": string;
- /** @description Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)." */
- event: string;
- /** @description Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub can set a status of `waiting` or `requested`. For a list of the possible `status` and `conclusion` options, see "[Create a check run](https://docs.github.com/rest/reference/checks#create-a-check-run)." */
- "workflow-run-status":
- | "completed"
- | "action_required"
- | "cancelled"
- | "failure"
- | "neutral"
- | "skipped"
- | "stale"
- | "success"
- | "timed_out"
- | "in_progress"
- | "queued"
- | "requested"
- | "waiting";
- /** @description Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)." */
- created: string;
- /** @description If `true` pull requests are omitted from the response (empty array). */
- "exclude-pull-requests": boolean;
- /** @description Returns workflow runs with the `check_suite_id` that you specify. */
- "workflow-run-check-suite-id": number;
- /** @description The unique identifier of the workflow run. */
- "run-id": number;
- /** @description The attempt number of the workflow run. */
- "attempt-number": number;
- /** @description The ID of the workflow. You can also pass the workflow file name as a string. */
- "workflow-id": number | string;
- /** @description The unique identifier of the autolink. */
- "autolink-id": number;
- /** @description The name of the branch. */
- branch: string;
- /** @description The unique identifier of the check run. */
- "check-run-id": number;
- /** @description The unique identifier of the check suite. */
- "check-suite-id": number;
- /** @description Returns check runs with the specified `name`. */
- "check-name": string;
- /** @description Returns check runs with the specified `status`. */
- status: "queued" | "in_progress" | "completed";
- /** @description The number that identifies an alert. You can find this at the end of the URL for a code scanning alert within GitHub, and in the `number` field in the response from the `GET /repos/{owner}/{repo}/code-scanning/alerts` operation. */
- "alert-number": components["schemas"]["alert-number"];
- /** @description The SHA of the commit. */
- "commit-sha": string;
- /** @description The full path, relative to the repository root, of the dependency manifest file. */
- "manifest-path": string;
- /** @description deployment_id parameter */
- "deployment-id": number;
- /** @description The name of the environment */
- "environment-name": string;
- /** @description A user ID. Only return users with an ID greater than this ID. */
- "since-user": number;
- /** @description The number that identifies the issue. */
- "issue-number": number;
- /** @description The unique identifier of the key. */
- "key-id": number;
- /** @description The number that identifies the milestone. */
- "milestone-number": number;
- /** @description The number that identifies the pull request. */
- "pull-number": number;
- /** @description The unique identifier of the review. */
- "review-id": number;
- /** @description The unique identifier of the asset. */
- "asset-id": number;
- /** @description The unique identifier of the release. */
- "release-id": number;
- /** @description The unique identifier of the tag protection. */
- "tag-protection-id": number;
- /** @description The time frame to display results for. */
- per: "" | "day" | "week";
- /** @description A repository ID. Only return repositories with an ID greater than this ID. */
- "since-repo": number;
- /** @description Used for pagination: the index of the first result to return. */
- "start-index": number;
- /** @description Used for pagination: the number of results to return. */
- count: number;
- /** @description Identifier generated by the GitHub SCIM endpoint. */
- "scim-group-id": string;
- /** @description The unique identifier of the SCIM user. */
- "scim-user-id": string;
- /** @description Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter is ignored unless you provide `sort`. */
- order: "desc" | "asc";
- /** @description The unique identifier of the team. */
- "team-id": number;
- /** @description ID of the Repository to filter on */
- "repository-id-in-query": number;
- /** @description The ID of the export operation, or `latest`. Currently only `latest` is currently supported. */
- "export-id": string;
- /** @description The unique identifier of the GPG key. */
- "gpg-key-id": number;
- };
- headers: {
- link?: string;
- "content-type"?: string;
- "x-common-marker-version"?: string;
- "x-rate-limit-limit"?: number;
- "x-rate-limit-remaining"?: number;
- "x-rate-limit-reset"?: number;
- location?: string;
- };
-}
-
-export interface operations {
- /** Get Hypermedia links to resources accessible in GitHub's REST API */
- "meta/root": {
- responses: {
- /** Response */
- 200: {
- content: {
- "application/json": components["schemas"]["root"];
- };
- };
- };
- };
- /**
- * Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app's installations, see the "[List installations for the authenticated app](https://docs.github.com/rest/reference/apps#list-installations-for-the-authenticated-app)" endpoint.
- *
- * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
- */
- "apps/get-authenticated": {
- parameters: {};
- responses: {
- /** Response */
- 200: {
- content: {
- "application/json": components["schemas"]["integration"];
- };
- };
- };
- };
- /** Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`. */
- "apps/create-from-manifest": {
- parameters: {
- path: {
- code: string;
- };
- };
- responses: {
- /** Response */
- 201: {
- content: {
- "application/json": components["schemas"]["integration"] &
- ({
- client_id: string;
- client_secret: string;
- webhook_secret: string | null;
- pem: string;
- } & { [key: string]: unknown });
- };
- };
- 404: components["responses"]["not_found"];
- 422: components["responses"]["validation_failed_simple"];
- };
- };
- /**
- * Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)."
- *
- * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
- */
- "apps/get-webhook-config-for-app": {
- responses: {
- /** Response */
- 200: {
- content: {
- "application/json": components["schemas"]["webhook-config"];
- };
- };
- };
- };
- /**
- * Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)."
- *
- * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
- */
- "apps/update-webhook-config-for-app": {
- responses: {
- /** Response */
- 200: {
- content: {
- "application/json": components["schemas"]["webhook-config"];
- };
- };
+ "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;
};
- 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"];
- };
+ /**
+ * 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": {
+ /**
+ * @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;
};
- };
- };
- /**
- * Returns a list of webhook deliveries for the webhook configured for a GitHub App.
- *
- * You must use a [JWT](https://docs.github.com/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.
- */
- "apps/list-webhook-deliveries": {
- parameters: {
- query: {
- /** The number of results per page (max 100). */
- per_page?: components["parameters"]["per-page"];
- /** Used for pagination: the starting delivery from which the page of deliveries is fetched. Refer to the `link` header for the next and previous page cursors. */
- cursor?: components["parameters"]["cursor"];
+ 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. 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 has been deprecated. 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;
+ };
+ /**
+ * Simple User
+ * @description The GitHub user that triggered the event. This property is included in every webhook payload.
+ */
+ "simple-user-webhooks": {
+ 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;
+ };
+ /** @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"]["nullable-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;
+ };
+ /**
+ * 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;
+ } | 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ /**
+ * 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": {
+ /**
+ * @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. 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 has been deprecated. 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;
+ /**
+ * 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 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;
+ };
+ /**
+ * 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"];
+ };
+ /**
+ * 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;
+ };
+ /**
+ * @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 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;
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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"];
+ /**
+ * 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.
+ */
+ 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";
+ /** @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;
+ };
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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"];
+ /**
+ * 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.
+ */
+ 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";
+ /** @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;
+ };
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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";
+ };
+ 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"];
+ /**
+ * 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.
+ */
+ 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";
+ /** @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;
+ };
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /**
+ * 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-webhooks"];
+ };
+ /**
+ * 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-webhooks"];
+ };
+ /**
+ * 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-webhooks"];
+ };
+ /**
+ * 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 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;
+ } | 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-webhooks"];
+ };
+ /** 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 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;
+ } | 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-webhooks"];
+ };
+ /** 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 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;
+ } | 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-webhooks"];
+ };
+ /** 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;
+ } | null;
+ /**
+ * @description The reason for dismissing or closing the alert.
+ * @enum {string|null}
+ */
+ dismissed_reason:
+ | "false positive"
+ | "won't fix"
+ | "used in tests"
+ | null;
+ /**
+ * 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.
+ * @enum {string}
+ */
+ state: "open" | "dismissed" | "fixed";
+ 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;
+ };
+ /** @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;
+ 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;
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | null;
+ /**
+ * @description The reason for dismissing or closing the alert.
+ * @enum {string|null}
+ */
+ dismissed_reason:
+ | "false positive"
+ | "won't fix"
+ | "used in tests"
+ | null;
+ /**
+ * 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;
+ };
+ /** @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;
+ 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;
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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: Record | 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: Record | null;
+ fixed_at?: Record | null;
+ /**
+ * 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.
+ * @enum {string}
+ */
+ state: "open" | "dismissed";
+ 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;
+ };
+ /** @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;
+ 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;
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | null;
+ /**
+ * @description The reason for dismissing or closing the alert.
+ * @enum {string|null}
+ */
+ dismissed_reason:
+ | "false positive"
+ | "won't fix"
+ | "used in tests"
+ | null;
+ /**
+ * 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.
+ * @enum {string}
+ */
+ state: "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;
+ };
+ /** @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;
+ 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;
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ /** @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;
+ /**
+ * 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: "open" | "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;
+ } | 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-webhooks"];
+ };
+ /** 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: Record | null;
+ dismissed_by: Record | null;
+ /** @description The reason for dismissing or closing the alert. Can be one of: `false positive`, `won't fix`, and `used in tests`. */
+ dismissed_reason: Record | null;
+ /**
+ * 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.
+ * @enum {string}
+ */
+ state: "open" | "fixed";
+ 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;
+ };
+ /** @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;
+ 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;
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** commit_comment created event */
+ "webhook-commit-comment-created": {
+ /**
+ * @description The action performed. Can be `created`.
+ * @enum {string}
+ */
+ action: "created";
+ /** @description The [commit comment](https://docs.github.com/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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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-webhooks"];
+ };
+ /** 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"];
+ /** @description The pusher type for the event. Can be either `user` or a deploy key. */
+ pusher_type: string;
+ /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */
+ ref: string;
+ /**
+ * @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-webhooks"];
+ };
+ /** custom property created event */
+ "webhook-custom-property-created": {
+ /** @enum {string} */
+ action: "created";
+ definition: components["schemas"]["org-custom-property"];
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ organization: components["schemas"]["organization-simple-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** custom property updated event */
+ "webhook-custom-property-updated": {
+ /** @enum {string} */
+ action: "updated";
+ definition: components["schemas"]["org-custom-property"];
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ organization: components["schemas"]["organization-simple-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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-webhooks"];
+ /** @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"];
+ /** @description The pusher type for the event. Can be either `user` or a deploy key. */
+ pusher_type: string;
+ /** @description The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. */
+ ref: string;
+ /**
+ * @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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** deploy_key created event */
+ "webhook-deploy-key-created": {
+ /** @enum {string} */
+ action: "created";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** deploy_key deleted event */
+ "webhook-deploy-key-deleted": {
+ /** @enum {string} */
+ action: "deleted";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /** @description The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. */
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ } | 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-webhooks"];
+ /** Workflow */
+ 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;
+ /** 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;
+ } | 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?: Record | 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;
+ };
+ 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?: Record | 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?: Record | 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;
+ };
+ 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;
+ } | 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-webhooks"];
+ };
+ "webhook-deployment-review-approved": {
+ /** @enum {string} */
+ action: "approved";
+ 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;
+ };
+ comment?: string;
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ organization: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-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";
+ }[];
+ sender: components["schemas"]["simple-user-webhooks"];
+ since: string;
+ workflow_job_run?: {
+ conclusion: Record | null;
+ created_at: string;
+ environment: string;
+ html_url: string;
+ id: number;
+ name: Record | null;
+ status: string;
+ updated_at: string;
+ };
+ workflow_job_runs?: {
+ conclusion?: Record | 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;
+ } | 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;
+ };
+ 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;
+ };
+ 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;
+ } | 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?: {
+ 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;
+ };
+ comment?: string;
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ organization: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-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";
+ }[];
+ sender: components["schemas"]["simple-user-webhooks"];
+ since: string;
+ workflow_job_run?: {
+ conclusion: Record | null;
+ created_at: string;
+ environment: string;
+ html_url: string;
+ id: number;
+ name: Record | null;
+ status: string;
+ updated_at: string;
+ };
+ 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;
+ } | 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;
+ };
+ 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;
+ };
+ 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;
+ } | 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"];
+ /** User */
+ requestor: {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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" | "Team";
+ }[];
+ sender: components["schemas"]["simple-user-webhooks"];
+ since: string;
+ workflow_job_run: {
+ conclusion: Record | 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;
+ } | 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;
+ };
+ 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;
+ };
+ 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;
+ } | 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;
+ } | 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;
+ } | 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;
+ } | 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;
+ } | 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-webhooks"];
+ /** Workflow */
+ 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;
+ /** 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;
+ } | 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?: 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?: Record | 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;
+ };
+ 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?: Record | 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?: Record | 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;
+ };
+ 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;
+ } | 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: {
+ /**
+ * 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: Record | 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;
+ /** 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** discussion_comment created event */
+ "webhook-discussion-comment-created": {
+ /** @enum {string} */
+ action: "created";
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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-webhooks"];
+ };
+ /** discussion_comment deleted event */
+ "webhook-discussion-comment-deleted": {
+ /** @enum {string} */
+ action: "deleted";
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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-webhooks"];
+ };
+ /** discussion_comment edited event */
+ "webhook-discussion-comment-edited": {
+ /** @enum {string} */
+ action: "edited";
+ changes: {
+ body: {
+ from: string;
+ };
+ };
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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-webhooks"];
+ };
+ /** discussion created event */
+ "webhook-discussion-created": {
+ /** @enum {string} */
+ action: "created";
+ 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;
+ } | 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 | null;
+ 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;
+ /** @enum {string} */
+ state: "open" | "locked" | "converting" | "transferring";
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ } & {
+ active_lock_reason?: Record | null;
+ answer_chosen_at: Record | null;
+ answer_chosen_by: Record | null;
+ answer_html_url: string | null;
+ author_association?: string;
+ body?: string | null;
+ category?: {
+ 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;
+ created_at?: string;
+ html_url?: string;
+ id?: number;
+ /** @enum {boolean} */
+ locked: false;
+ node_id?: string;
+ number?: number;
+ 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: "open" | "converting" | "transferring";
+ timeline_url?: string;
+ title?: string;
+ updated_at?: string;
+ user?: {
+ 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;
+ };
+ };
+ 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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 */
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** discussion unanswered event */
+ "webhook-discussion-unanswered": {
+ /** @enum {string} */
+ action: "unanswered";
+ discussion: components["schemas"]["discussion"];
+ old_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: Record | 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;
+ /** 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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 */
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /**
+ * 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 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;
+ /** @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;
+ } | 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?: Record | null;
+ languages_url?: string;
+ license?: Record | null;
+ merges_url?: string;
+ milestones_url?: string;
+ mirror_url?: Record | null;
+ 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?: (Record | null)[];
+ 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-webhooks"];
+ };
+ /** github_app_authorization revoked event */
+ "webhook-github-app-authorization-revoked": {
+ /** @enum {string} */
+ action: "revoked";
+ 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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"];
+ /** @description An array of repository objects that the installation can access. */
+ 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;
+ }[];
+ repository?: components["schemas"]["repository-webhooks"];
+ /** User */
+ requester?: {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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"];
+ /** @description An array of repository objects that the installation can access. */
+ 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;
+ }[];
+ repository?: components["schemas"]["repository-webhooks"];
+ requester?: Record | null;
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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"];
+ /** @description An array of repository objects that the installation can access. */
+ 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;
+ }[];
+ repository?: components["schemas"]["repository-webhooks"];
+ requester?: Record | null;
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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"];
+ /** @description An array of repository objects, which were added to the installation. */
+ 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 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"];
+ /**
+ * @description Describe whether all repositories have been selected or there's a selection involved
+ * @enum {string}
+ */
+ repository_selection: "all" | "selected";
+ /** User */
+ requester: {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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"];
+ /** @description An array of repository objects, which were added to the installation. */
+ 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 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"];
+ /**
+ * @description Describe whether all repositories have been selected or there's a selection involved
+ * @enum {string}
+ */
+ repository_selection: "all" | "selected";
+ /** User */
+ requester: {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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"];
+ /** @description An array of repository objects that the installation can access. */
+ 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;
+ }[];
+ repository?: components["schemas"]["repository-webhooks"];
+ requester?: Record | null;
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ "webhook-installation-target-renamed": {
+ account: {
+ archived_at?: string | null;
+ avatar_url: string;
+ created_at?: string;
+ description?: Record | null;
+ 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?: Record | null;
+ };
+ /** @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-webhooks"];
+ 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"];
+ /** @description An array of repository objects that the installation can access. */
+ 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;
+ }[];
+ repository?: components["schemas"]["repository-webhooks"];
+ requester?: Record | null;
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ } & {
+ 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;
+ } | 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;
+ 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-webhooks"];
+ };
+ /** issue_comment deleted event */
+ "webhook-issue-comment-deleted": {
+ /** @enum {string} */
+ action: "deleted";
+ /**
+ * 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ 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;
+ } | 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ } & {
+ 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;
+ } | 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;
+ 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-webhooks"];
+ };
+ /** issue_comment edited event */
+ "webhook-issue-comment-edited": {
+ /** @enum {string} */
+ action: "edited";
+ /** @description The changes to the comment. */
+ changes: {
+ body?: {
+ /** @description The previous version of the body. */
+ from: string;
+ };
+ };
+ /**
+ * 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ 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;
+ } | 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ } & {
+ 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;
+ } | 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;
+ 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-webhooks"];
+ };
+ /** issues assigned event */
+ "webhook-issues-assigned": {
+ /**
+ * @description The action that was performed.
+ * @enum {string}
+ */
+ action: "assigned";
+ /** 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;
+ 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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ } & {
+ 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;
+ 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-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** issues demilestoned event */
+ "webhook-issues-demilestoned": {
+ /** @enum {string} */
+ action: "demilestoned";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ 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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ } & {
+ 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
+ * @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;
+ } | 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;
+ 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;
+ state?: string;
+ 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;
+ 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;
+ };
+ };
+ /**
+ * 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;
+ } | 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ /** Label */
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ /** Label */
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** issues locked event */
+ "webhook-issues-locked": {
+ /** @enum {string} */
+ action: "locked";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ 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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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|null} */
+ active_lock_reason:
+ | "resolved"
+ | "off-topic"
+ | "too heated"
+ | "spam"
+ | 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;
+ /** @enum {boolean} */
+ locked: true;
+ 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;
+ state?: string;
+ 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;
+ 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-webhooks"];
+ };
+ /** issues milestoned event */
+ "webhook-issues-milestoned": {
+ /** @enum {string} */
+ action: "milestoned";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ 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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ } & {
+ 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
+ * @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;
+ } | 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;
+ };
+ 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;
+ state?: string;
+ 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;
+ 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;
+ };
+ };
+ /**
+ * 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;
+ } | 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ } | 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;
+ /** @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;
+ } | 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;
+ } | 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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** issues pinned event */
+ "webhook-issues-pinned": {
+ /** @enum {string} */
+ action: "pinned";
+ 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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** issues reopened event */
+ "webhook-issues-reopened": {
+ /** @enum {string} */
+ action: "reopened";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ 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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ } & {
+ 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: "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;
+ 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-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ /**
+ * 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;
+ /** @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;
+ } | 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
+ * @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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** issues unassigned event */
+ "webhook-issues-unassigned": {
+ /**
+ * @description The action that was performed.
+ * @enum {string}
+ */
+ action: "unassigned";
+ /** 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;
+ 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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** issues unlabeled event */
+ "webhook-issues-unlabeled": {
+ /** @enum {string} */
+ action: "unlabeled";
+ 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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ /** Label */
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** issues unlocked event */
+ "webhook-issues-unlocked": {
+ /** @enum {string} */
+ action: "unlocked";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ 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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ } & {
+ active_lock_reason: Record | 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;
+ /** @enum {boolean} */
+ locked: false;
+ 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;
+ state?: string;
+ 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;
+ 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-webhooks"];
+ };
+ /** issues unpinned event */
+ "webhook-issues-unpinned": {
+ /** @enum {string} */
+ action: "unpinned";
+ 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;
+ }[];
+ /** 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;
+ } | 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;
+ } | 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;
+ /**
+ * @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** label created event */
+ "webhook-label-created": {
+ /** @enum {string} */
+ action: "created";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /** Label */
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** label deleted event */
+ "webhook-label-deleted": {
+ /** @enum {string} */
+ action: "deleted";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /** Label */
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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 */
+ 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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: {
+ 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;
+ } & {
+ 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;
+ };
+ 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: Record | 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-webhooks"];
+ };
+ /** 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: {
+ 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;
+ } & {
+ 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;
+ };
+ 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-webhooks"];
+ };
+ /** 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: {
+ 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;
+ } & {
+ 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;
+ };
+ 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-webhooks"];
+ };
+ /** 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: {
+ account: {
+ id: number;
+ login: string;
+ node_id: string;
+ organization_billing_email: string | null;
+ type: string;
+ };
+ billing_cycle: string;
+ free_trial_ends_on: Record | 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;
+ } & {
+ next_billing_date: string;
+ };
+ 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: Record | 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-webhooks"];
+ };
+ /** 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: {
+ 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;
+ } & {
+ 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;
+ };
+ 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: Record | 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-webhooks"];
+ };
+ /** member added event */
+ "webhook-member-added": {
+ /** @enum {string} */
+ action: "added";
+ changes?: {
+ permission?: {
+ /** @enum {string} */
+ to: "write" | "admin" | "read";
+ };
+ };
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /** User */
+ member: {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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"];
+ /** User */
+ member: {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** member removed event */
+ "webhook-member-removed": {
+ /** @enum {string} */
+ action: "removed";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /** User */
+ member: {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** membership added event */
+ "webhook-membership-added": {
+ /** @enum {string} */
+ action: "added";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /** User */
+ member: {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | null;
+ /**
+ * Team
+ * @description Groups of organization members that gives permissions on specified repositories.
+ */
+ 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;
+ };
+ };
+ /** membership removed event */
+ "webhook-membership-removed": {
+ /** @enum {string} */
+ action: "removed";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /** User */
+ member: {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | null;
+ /**
+ * Team
+ * @description Groups of organization members that gives permissions on specified repositories.
+ */
+ 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;
+ };
+ };
+ "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-webhooks"];
+ };
+ "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-webhooks"];
+ };
+ /** meta deleted event */
+ "webhook-meta-deleted": {
+ /** @enum {string} */
+ action: "deleted";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ /** @description The modified 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-webhooks"];
+ };
+ /** milestone closed event */
+ "webhook-milestone-closed": {
+ /** @enum {string} */
+ action: "closed";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /**
+ * 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;
+ } | 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** milestone created event */
+ "webhook-milestone-created": {
+ /** @enum {string} */
+ action: "created";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /**
+ * 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;
+ } | 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** milestone deleted event */
+ "webhook-milestone-deleted": {
+ /** @enum {string} */
+ action: "deleted";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /**
+ * 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;
+ } | 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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
+ * @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;
+ } | 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** milestone opened event */
+ "webhook-milestone-opened": {
+ /** @enum {string} */
+ action: "opened";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /**
+ * 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;
+ } | 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;
+ };
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** org_block blocked event */
+ "webhook-org-block-blocked": {
+ /** @enum {string} */
+ action: "blocked";
+ /** User */
+ blocked_user: {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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-webhooks"];
+ };
+ /** org_block unblocked event */
+ "webhook-org-block-unblocked": {
+ /** @enum {string} */
+ action: "unblocked";
+ /** User */
+ blocked_user: {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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-webhooks"];
+ };
+ /** organization deleted event */
+ "webhook-organization-deleted": {
+ /** @enum {string} */
+ action: "deleted";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /**
+ * Membership
+ * @description The membership between the user and the organization. Not present when the action is `member_invited`.
+ */
+ membership?: {
+ /** Format: uri */
+ organization_url: string;
+ role: 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ organization: components["schemas"]["organization-simple-webhooks"];
+ repository?: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** organization member_added event */
+ "webhook-organization-member-added": {
+ /** @enum {string} */
+ action: "member_added";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /**
+ * Membership
+ * @description The membership between the user and the organization. Not present when the action is `member_invited`.
+ */
+ membership: {
+ /** Format: uri */
+ organization_url: string;
+ role: 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ organization: components["schemas"]["organization-simple-webhooks"];
+ repository?: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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-webhooks"];
+ /** User */
+ user?: {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ /** organization member_removed event */
+ "webhook-organization-member-removed": {
+ /** @enum {string} */
+ action: "member_removed";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /**
+ * Membership
+ * @description The membership between the user and the organization. Not present when the action is `member_invited`.
+ */
+ membership: {
+ /** Format: uri */
+ organization_url: string;
+ role: 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ organization: components["schemas"]["organization-simple-webhooks"];
+ repository?: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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
+ * @description The membership between the user and the organization. Not present when the action is `member_invited`.
+ */
+ membership?: {
+ /** Format: uri */
+ organization_url: string;
+ role: 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ organization: components["schemas"]["organization-simple-webhooks"];
+ repository?: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ } | 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?: OneOf<
+ [
+ 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;
+ } | 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-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ } | 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;
+ } | 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-webhooks"];
+ };
+ /** 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;
+ } | 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-webhooks"];
+ };
+ /** 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"];
+ organization: components["schemas"]["organization-simple-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ 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"];
+ organization: components["schemas"]["organization-simple-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ 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"];
+ organization: components["schemas"]["organization-simple-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ 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"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ 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-webhooks"];
+ /** @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 */
+ 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;
+ } | 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"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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 */
+ 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;
+ } | 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"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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-webhooks"];
+ };
+ /** 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 */
+ 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;
+ } | 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"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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-webhooks"];
+ };
+ /** 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 */
+ 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;
+ } | 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;
+ };
+ repository?: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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 */
+ 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;
+ };
+ repository?: components["schemas"]["repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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 */
+ 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;
+ };
+ repository?: components["schemas"]["nullable-repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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 */
+ 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;
+ };
+ repository?: components["schemas"]["repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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 */
+ 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;
+ };
+ repository?: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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 */
+ 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;
+ } | 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;
+ };
+ repository?: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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 */
+ 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;
+ } | 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;
+ };
+ repository?: components["schemas"]["nullable-repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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 */
+ 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;
+ } | 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;
+ };
+ repository?: components["schemas"]["repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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 */
+ 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;
+ } | 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;
+ };
+ repository?: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** @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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** Projects v2 Item Archived Event */
+ "webhook-projects-v2-item-archived": {
+ /** @enum {string} */
+ action: "archived";
+ changes: {
+ archived_at?: {
+ /** Format: date-time */
+ from?: string | null;
+ /** Format: date-time */
+ 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** Projects v2 Item Edited Event */
+ "webhook-projects-v2-item-edited": {
+ /** @enum {string} */
+ action: "edited";
+ changes?: OneOf<
+ [
+ {
+ field_value: {
+ field_node_id?: string;
+ field_type?: string;
+ };
+ },
+ {
+ 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** Projects v2 Item Restored Event */
+ "webhook-projects-v2-item-restored": {
+ /** @enum {string} */
+ action: "restored";
+ changes: {
+ archived_at?: {
+ /** Format: date-time */
+ from?: string | null;
+ /** Format: date-time */
+ 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** 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-webhooks"];
+ };
+ /** pull_request assigned event */
+ "webhook-pull-request-assigned": {
+ /** @enum {string} */
+ action: "assigned";
+ /** 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;
+ 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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,
+ {
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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,
+ {
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ reason: string;
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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,
+ {
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ reason?: string;
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** pull_request closed event */
+ "webhook-pull-request-closed": {
+ /** @enum {string} */
+ action: "closed";
+ 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: 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 has been deprecated. Please use `squash_merge_commit_title` instead.**
+ * @default false
+ */
+ use_squash_pr_title_as_default?: boolean;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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"];
+ /** @description The pull request number. */
+ number: number;
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ pull_request: 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 has been deprecated. Please use `squash_merge_commit_title` instead.**
+ * @default false
+ */
+ use_squash_pr_title_as_default?: boolean;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** pull_request demilestoned event */
+ "webhook-pull-request-demilestoned": {
+ /** @enum {string} */
+ action: "demilestoned";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ milestone?: components["schemas"]["milestone"];
+ /** @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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ reason: string;
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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"];
+ /** @description The pull request number. */
+ number: number;
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ pull_request: 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 has been deprecated. Please use `squash_merge_commit_title` instead.
+ * @default false
+ */
+ use_squash_pr_title_as_default?: boolean;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** pull_request labeled event */
+ "webhook-pull-request-labeled": {
+ /** @enum {string} */
+ action: "labeled";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /** Label */
+ 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 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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,
+ {
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** pull_request locked event */
+ "webhook-pull-request-locked": {
+ /** @enum {string} */
+ action: "locked";
+ 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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,
+ {
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** pull_request milestoned event */
+ "webhook-pull-request-milestoned": {
+ /** @enum {string} */
+ action: "milestoned";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ milestone?: components["schemas"]["milestone"];
+ /** @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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** pull_request opened event */
+ "webhook-pull-request-opened": {
+ /** @enum {string} */
+ action: "opened";
+ 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: 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 has been deprecated. Please use `squash_merge_commit_title` instead.**
+ * @default false
+ */
+ use_squash_pr_title_as_default?: boolean;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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"];
+ /** @description The pull request number. */
+ number: number;
+ organization?: components["schemas"]["organization-simple-webhooks"];
+ pull_request: 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 has been deprecated. Please use `squash_merge_commit_title` instead.**
+ * @default false
+ */
+ use_squash_pr_title_as_default?: boolean;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** pull_request reopened event */
+ "webhook-pull-request-reopened": {
+ /** @enum {string} */
+ action: "reopened";
+ 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: 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 has been deprecated. Please use `squash_merge_commit_title` instead.**
+ * @default false
+ */
+ use_squash_pr_title_as_default?: boolean;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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,
+ {
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** pull_request_review_comment deleted event */
+ "webhook-pull-request-review-comment-deleted": {
+ /** @enum {string} */
+ action: "deleted";
+ /**
+ * 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;
+ /** @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ /** 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** pull_request_review_comment edited event */
+ "webhook-pull-request-review-comment-edited": {
+ /** @enum {string} */
+ action: "edited";
+ /** @description The changes to the comment. */
+ changes: {
+ body?: {
+ /** @description The previous version of the body. */
+ from: string;
+ };
+ };
+ /**
+ * 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;
+ /** @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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ /** 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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,
+ {
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ /** @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;
+ } | 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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,
+ {
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ 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;
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** pull_request review_request_removed event */
+ "webhook-pull-request-review-request-removed": OneOf<
+ [
+ {
+ /** @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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | null;
+ sender: components["schemas"]["simple-user-webhooks"];
+ },
+ {
+ /** @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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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-webhooks"];
+ },
+ ]
+ >;
+ /** pull_request review_requested event */
+ "webhook-pull-request-review-requested": OneOf<
+ [
+ {
+ /** @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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ 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;
+ } | null;
+ sender: components["schemas"]["simple-user-webhooks"];
+ },
+ {
+ /** @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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ 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-webhooks"];
+ },
+ ]
+ >;
+ /** 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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,
+ {
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ 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;
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ /** @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;
+ } | 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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,
+ {
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ }[];
+ 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ /** @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;
+ } | 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ /** 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ }[];
+ 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"];
+ /** @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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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.
+ * @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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,
+ {
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** pull_request unassigned event */
+ "webhook-pull-request-unassigned": {
+ /** @enum {string} */
+ action: "unassigned";
+ /** 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;
+ 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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,
+ {
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** pull_request unlabeled event */
+ "webhook-pull-request-unlabeled": {
+ /** @enum {string} */
+ action: "unlabeled";
+ enterprise?: components["schemas"]["enterprise-webhooks"];
+ installation?: components["schemas"]["simple-installation"];
+ /** Label */
+ 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 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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,
+ {
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ site_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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** pull_request unlocked event */
+ "webhook-pull-request-unlocked": {
+ /** @enum {string} */
+ action: "unlocked";
+ 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;
+ } | 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;
+ } | 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;
+ /** @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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ 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;
+ } | 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 has been deprecated. 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ 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;
+ } | 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;
+ } | 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: OneOf<
+ [
+ {
+ /** Format: uri */
+ avatar_url?: string;
+ deleted?: boolean;
+ email?: string | null;
+ /** Format: uri-template */
+ events_url?: string;
+ /** Format: uri */
+ followers_url?: string;
+ /** Format: uri-template */
+ following_url?: string;
+ /** Format: uri-template */
+ gists_url?: string;
+ gravatar_id?: string;
+ /** Format: uri */
+ html_url?: string;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ id: number;
+ login: string;
+ name?: string;
+ node_id?: string;
+ /** Format: uri */
+ organizations_url?: string;
+ /** Format: uri */
+ received_events_url?: string;
+ /** Format: uri */
+ repos_url?: string;
+ 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;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** push event */
+ "webhook-push": {
+ /** @description The SHA of the most recent commit on `ref` after the push. */
+ after: string;
+ base_ref: string | null;
+ /** @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 20 commits. If necessary, you can use the [Commits API](https://docs.github.com/rest/commits) to fetch additional commits. This limit is applied to timeline events only and isn't applied to webhook deliveries. */
+ commits: {
+ /** @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;
+ }[];
+ /** @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;
+ /** @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;
+ } | 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-webhooks"];
+ };
+ "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;
+ };
+ 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;
+ };
+ 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?: OneOf<
+ [
+ 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;
+ };
+ 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-webhooks"];
+ };
+ "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: Record | 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;
+ };
+ 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;
+ };
+ 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;
+ };
+ 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-webhooks"];
+ };
+ /** 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
+ * @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;
+ /**
+ * @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;
+ } | 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;
+ 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: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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
+ * @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;
+ /**
+ * @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;
+ } | 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;
+ 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: components["schemas"]["repository-webhooks"];
+ sender: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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;
+ };
+ 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
+ * @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;
+ /**
+ * @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;
+ } | 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;
+ 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: components["schemas"]["repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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: {
+ 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;
+ /**
+ * @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;
+ } | 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;
+ 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;
+ } & {
+ assets?: (Record | null)[];
+ assets_url?: string;
+ 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;
+ };
+ body?: string | null;
+ created_at?: string;
+ draft?: boolean;
+ html_url?: string;
+ id?: number;
+ name?: string | null;
+ node_id?: string;
+ /**
+ * @description Whether the release is identified as a prerelease or a full release.
+ * @enum {boolean}
+ */
+ prerelease: true;
+ published_at?: string | null;
+ tag_name?: string;
+ tarball_url?: string | null;
+ target_commitish?: string;
+ upload_url?: string;
+ url?: string;
+ zipball_url?: string | null;
+ };
+ repository: components["schemas"]["repository-webhooks"];
+ sender?: components["schemas"]["simple-user-webhooks"];
+ };
+ /** 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: {
+ 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;
+ /**
+ * @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;
+ } | 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;
+ 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;
+ } & {
+ assets?: (Record | |
---|