gitverse-api-sdk 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +1 -21
  2. package/dist/api/actions.d.ts +326 -378
  3. package/dist/api/actions.js +3 -3
  4. package/dist/api/actions.js.map +3 -3
  5. package/dist/api/emails.d.ts +41 -46
  6. package/dist/api/emails.js +3 -3
  7. package/dist/api/emails.js.map +3 -3
  8. package/dist/api/issues.d.ts +264 -391
  9. package/dist/api/issues.js +3 -3
  10. package/dist/api/issues.js.map +3 -3
  11. package/dist/api/organizations.d.ts +68 -7
  12. package/dist/api/organizations.js +3 -3
  13. package/dist/api/organizations.js.map +3 -3
  14. package/dist/api/{branches.d.ts → pages.d.ts} +35 -41
  15. package/dist/api/pages.js +4 -0
  16. package/dist/api/pages.js.map +10 -0
  17. package/dist/api/pulls.d.ts +309 -526
  18. package/dist/api/pulls.js +3 -3
  19. package/dist/api/pulls.js.map +3 -3
  20. package/dist/api/releases.d.ts +183 -244
  21. package/dist/api/releases.js +3 -3
  22. package/dist/api/releases.js.map +3 -3
  23. package/dist/api/repositories.d.ts +859 -395
  24. package/dist/api/repositories.js +3 -3
  25. package/dist/api/repositories.js.map +3 -3
  26. package/dist/api/stars.d.ts +95 -231
  27. package/dist/api/stars.js +3 -3
  28. package/dist/api/stars.js.map +3 -3
  29. package/dist/api/teams.d.ts +96 -122
  30. package/dist/api/teams.js +3 -3
  31. package/dist/api/teams.js.map +3 -3
  32. package/dist/api/users.d.ts +78 -170
  33. package/dist/api/users.js +3 -3
  34. package/dist/api/users.js.map +3 -3
  35. package/dist/client.d.ts +4 -0
  36. package/dist/client.js +3 -3
  37. package/dist/client.js.map +1 -1
  38. package/dist/enums.d.ts +27 -71
  39. package/dist/enums.js +3 -3
  40. package/dist/enums.js.map +3 -3
  41. package/dist/errors.d.ts +12 -10
  42. package/dist/errors.js +2 -2
  43. package/dist/errors.js.map +1 -1
  44. package/dist/index.d.ts +1865 -2422
  45. package/dist/index.js +2 -2
  46. package/dist/index.js.map +3 -3
  47. package/dist/types.d.ts +771 -1689
  48. package/dist/utils.js +1 -2
  49. package/dist/utils.js.map +1 -1
  50. package/package.json +1 -1
  51. package/dist/api/branches.js +0 -4
  52. package/dist/api/branches.js.map +0 -10
  53. package/dist/api/collaborators.d.ts +0 -440
  54. package/dist/api/collaborators.js +0 -4
  55. package/dist/api/collaborators.js.map +0 -10
  56. package/dist/api/commits.d.ts +0 -406
  57. package/dist/api/commits.js +0 -4
  58. package/dist/api/commits.js.map +0 -10
  59. package/dist/api/contents.d.ts +0 -389
  60. package/dist/api/contents.js +0 -4
  61. package/dist/api/contents.js.map +0 -10
  62. package/dist/api/forks.d.ts +0 -387
  63. package/dist/api/forks.js +0 -4
  64. package/dist/api/forks.js.map +0 -10
  65. package/dist/api/git.d.ts +0 -277
  66. package/dist/api/git.js +0 -4
  67. package/dist/api/git.js.map +0 -10
package/dist/types.d.ts CHANGED
@@ -1,130 +1,7 @@
1
1
  /**
2
- * Типы пользователей в системе
2
+ * Типы данных для GitVerse API
3
+ * @generated Сгенерировано автоматически из OpenAPI спецификации
3
4
  */
4
- declare const UserType: {
5
- readonly Organization: "Organization"
6
- readonly User: "User"
7
- };
8
- /**
9
- * Тип для типов пользователей
10
- */
11
- type UserType = (typeof UserType)[keyof typeof UserType];
12
- /**
13
- * Типы видимости для репозиториев и пользователей
14
- */
15
- declare const VisibilityType: {
16
- readonly Limited: "limited"
17
- readonly Private: "private"
18
- readonly Public: "public"
19
- };
20
- /**
21
- * Тип для типов видимости
22
- */
23
- type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];
24
- /**
25
- * Типы содержимого в репозитории
26
- */
27
- declare const ContentType: {
28
- readonly Directory: "dir"
29
- readonly File: "file"
30
- };
31
- /**
32
- * Тип для типов содержимого
33
- */
34
- type ContentType = (typeof ContentType)[keyof typeof ContentType];
35
- /**
36
- * Состояния pull request
37
- */
38
- declare const PullRequestState: {
39
- readonly Closed: "closed"
40
- readonly Open: "open"
41
- };
42
- /**
43
- * Тип для состояний pull request
44
- */
45
- type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];
46
- /**
47
- * Состояния issue
48
- */
49
- declare const IssueState: {
50
- readonly Closed: "closed"
51
- readonly Open: "open"
52
- };
53
- /**
54
- * Тип для состояний issue
55
- */
56
- type IssueState = (typeof IssueState)[keyof typeof IssueState];
57
- /**
58
- * Фильтры состояний pull request, включая "все"
59
- */
60
- declare const PullRequestStateFilter: {
61
- readonly All: "all"
62
- readonly Closed: "closed"
63
- readonly Open: "open"
64
- };
65
- /**
66
- * Тип для фильтров состояний pull request
67
- */
68
- type PullRequestStateFilter = (typeof PullRequestStateFilter)[keyof typeof PullRequestStateFilter];
69
- /**
70
- * Критерии сортировки pull request
71
- */
72
- declare const PullRequestSortCriteria: {
73
- readonly Created: "created"
74
- readonly LongRunning: "long-running"
75
- readonly Popularity: "popularity"
76
- readonly Updated: "updated"
77
- };
78
- /**
79
- * Тип для критериев сортировки pull request
80
- */
81
- type PullRequestSortCriteria = (typeof PullRequestSortCriteria)[keyof typeof PullRequestSortCriteria];
82
- /**
83
- * Направления сортировки pull request
84
- */
85
- declare const PullRequestSortDirection: {
86
- readonly Ascending: "asc"
87
- readonly Descending: "desc"
88
- };
89
- /**
90
- * Тип для направлений сортировки pull request
91
- */
92
- type PullRequestSortDirection = (typeof PullRequestSortDirection)[keyof typeof PullRequestSortDirection];
93
- /**
94
- * Информация о лимитах запросов (Rate Limits)
95
- */
96
- interface RateLimitInfo {
97
- /** Максимальное количество запросов за час */
98
- limit: number;
99
- /** Оставшееся количество запросов */
100
- remaining: number;
101
- /** Количество секунд до сброса лимита */
102
- retryAfter: number;
103
- /** Unix timestamp когда лимит будет сброшен */
104
- reset: number;
105
- }
106
- /**
107
- * Информация о версии API
108
- */
109
- interface ApiVersionInfo {
110
- /** Текущая версия API */
111
- version: string;
112
- /** Последняя доступная версия API */
113
- latestVersion: string;
114
- /** Флаг устаревшей версии */
115
- deprecated: boolean;
116
- /** Дата вывода из эксплуатации (если версия устарела) */
117
- decommissioning?: string;
118
- }
119
- /**
120
- * Метаданные ответа API
121
- */
122
- interface ApiResponseMetadata {
123
- /** Информация о лимитах запросов */
124
- rateLimit?: RateLimitInfo;
125
- /** Информация о версии API */
126
- apiVersion?: ApiVersionInfo;
127
- }
128
5
  /**
129
6
  * Опции для выполнения HTTP-запросов
130
7
  */
@@ -148,1687 +25,892 @@ interface PaginationParams {
148
25
  per_page?: number;
149
26
  }
150
27
  /**
151
- * Параметры для получения списка starred репозиториев
28
+ * Информация об ошибке API
152
29
  */
153
- interface ListStarsParams extends PaginationParams {
154
- /** Критерий сортировки (default: "created") */
155
- sort?: "created" | "updated";
156
- /** Направление сортировки (default: "desc") */
157
- direction?: "asc" | "desc";
30
+ interface ApiError {
31
+ /** Сообщение об ошибке */
32
+ message?: string;
33
+ /** URL документации */
34
+ documentation_url?: string;
158
35
  }
159
36
  /**
160
- * Параметры для поиска пользователей
37
+ * Информация о лимитах запросов
161
38
  */
162
- interface SearchUsersParams extends PaginationParams {
163
- /** Критерий сортировки */
164
- sort?: "best_match" | string;
165
- /** Направление сортировки */
166
- order?: "asc" | "desc";
39
+ interface RateLimitInfo {
40
+ /** Максимальное количество запросов */
41
+ limit: number;
42
+ /** Оставшееся количество запросов */
43
+ remaining: number;
44
+ /** Unix timestamp сброса лимита */
45
+ reset: number;
46
+ /** Секунд до сброса лимита */
47
+ retryAfter: number;
167
48
  }
168
49
  /**
169
- * Ответ на поиск пользователей
50
+ * Информация о версии API
170
51
  */
171
- interface UserSearchResult {
172
- /** Общее количество найденных пользователей */
173
- total_count: number;
174
- /** Неполные результаты (если true, результаты могут быть неполными) */
175
- incomplete_results?: boolean;
176
- /** Список найденных пользователей */
177
- items: User2[];
52
+ interface ApiVersionInfo {
53
+ /** Текущая используемая версия */
54
+ version: string;
55
+ /** Последняя доступная версия */
56
+ latestVersion: string;
57
+ /** Версия помечена как устаревшая */
58
+ deprecated: boolean;
59
+ /** Дата вывода из эксплуатации */
60
+ decommissioning?: string;
178
61
  }
179
62
  /**
180
- * Параметры для получения списка issues
63
+ * Метаданные ответа API
181
64
  */
182
- interface ListIssuesParams extends PaginationParams {
183
- /** Фильтр по состоянию issue */
184
- state?: "open" | "closed" | "all";
185
- /** Ключевое слово для поиска в заголовке и содержимом */
186
- q?: string;
187
- /** Метки через запятую (префикс '-' для исключения) */
188
- labels?: string;
189
- /** Имена или ID майлстоунов через запятую */
190
- milestones?: string;
191
- /** Фильтр по имени создателя */
192
- created_by?: string;
193
- /** Фильтр по имени назначенного пользователя */
194
- assigned_by?: string;
195
- /** Фильтр по упомянутому пользователю */
196
- mentioned_by?: string;
197
- /** Фильтр по типу: issues или pulls */
198
- type?: "issues" | "pulls";
199
- /** Только элементы обновлённые после этого времени (RFC3339) */
200
- since?: string;
201
- /** Только элементы обновлённые до этого времени (RFC3339) */
202
- before?: string;
65
+ interface ApiResponseMetadata {
66
+ /** Уникальный идентификатор запроса */
67
+ requestId?: string;
68
+ /** Информация о лимитах */
69
+ rateLimit?: RateLimitInfo;
70
+ /** Информация о версии API */
71
+ apiVersion?: ApiVersionInfo;
203
72
  }
204
- /**
205
- * Параметры для получения списка комментариев к issue
206
- */
207
- interface ListCommentsParams {
208
- /** Только комментарии после этого времени (RFC3339) */
209
- since?: string;
210
- /** Только комментарии до этого времени (RFC3339) */
211
- before?: string;
73
+ interface AddCollaboratorParams {
74
+ /** enum: read,write,admin */
75
+ permission?: string;
212
76
  }
213
- /**
214
- * Параметры для получения timeline issue
215
- */
216
- interface GetTimelineParams extends PaginationParams {
217
- /** Только события после этого времени (RFC3339) */
218
- since?: string;
219
- /** Только события до этого времени (RFC3339) */
220
- before?: string;
77
+ interface CommitUserParams {
78
+ date?: string;
79
+ email: string;
80
+ name: string;
221
81
  }
222
- /**
223
- * Параметры для получения файлов pull request
224
- */
225
- interface GetPullFilesParams extends PaginationParams {}
226
- /**
227
- * Параметры для получения коммитов pull request
228
- */
229
- interface GetPullCommitsParams extends PaginationParams {}
230
- /**
231
- * Параметры для обновления ветки pull request
232
- */
233
- interface UpdateBranchParams {
234
- /** Ожидаемый SHA головы ветки */
235
- expected_head_sha?: string;
82
+ interface CreateActionLinkParams {
83
+ description?: string;
84
+ link?: string;
85
+ name?: string;
86
+ run_id?: number;
236
87
  }
237
- /**
238
- * Ответ на обновление ветки pull request
239
- */
240
- interface UpdateBranchResponse {
241
- /** Сообщение о результате */
88
+ interface CreateCommitParams {
89
+ author?: CommitUserParams;
90
+ committer?: CommitUserParams;
242
91
  message: string;
243
- /** URL обновлённого pull request */
244
- url?: string;
245
- }
246
- /**
247
- * Параметры для получения списка коммитов
248
- */
249
- interface ListCommitsParams extends PaginationParams {
250
- /** SHA или имя ветки для начала списка */
251
- sha?: string;
252
- /** Путь к файлу для фильтрации коммитов */
253
- path?: string;
254
- /** Исключить коммиты, достижимые из этого ref */
255
- not?: string;
256
- /** Фильтр по автору (логин или email) */
257
- author?: string;
258
- /** Фильтр по коммиттеру (логин или email) */
259
- committer?: string;
260
- /** Только коммиты после этой даты (ISO 8601) */
261
- since?: string;
262
- /** Только коммиты до этой даты (ISO 8601) */
263
- until?: string;
92
+ parents?: string[];
93
+ tree: string;
264
94
  }
265
- /**
266
- * Интерфейс пользователя
267
- */
268
- interface User2 {
269
- /** Уникальный идентификатор пользователя */
270
- id: number;
271
- /** Имя пользователя */
272
- name?: string;
273
- /** Логин пользователя */
274
- login: string;
275
- /** Полное имя пользователя */
276
- full_name?: string;
277
- /** Тип аккаунта: пользователь или организация */
278
- type: UserType;
279
- /** Биография пользователя */
280
- bio?: string;
281
- /** Электронная почта пользователя */
282
- email?: string;
283
- /** URL аватара пользователя */
284
- avatar_url: string;
285
- /** Веб-ссылка на профиль пользователя */
286
- html_url: string;
287
- /** API-ссылка на профиль пользователя */
288
- url?: string;
289
- /** API-ссылка на список подписчиков пользователя */
290
- followers_url?: string;
291
- /** API-ссылка на репозитории пользователя */
292
- repos_url?: string;
293
- /** API-ссылка на организации пользователя */
294
- organizations_url?: string;
295
- /** Права администратора */
296
- site_admin: boolean;
297
- /** Местоположение пользователя */
298
- location?: string;
299
- /** Верификация аккаунта */
300
- is_verified?: boolean;
301
- /** Настройки приватности профиля */
302
- visibility?: VisibilityType;
303
- /** Персональный веб-сайт */
304
- website?: string;
305
- /** Количество подписчиков */
306
- followers?: number;
307
- /** Количество подписок */
308
- following?: number;
309
- /** Количество публичных репозиториев */
310
- public_repos?: number;
311
- /** Количество репозиториев, отмеченных звездой */
312
- stars_count?: number;
313
- /** API-ссылка на подписки пользователя */
314
- following_url?: string;
315
- /** API-ссылка на избранные репозитории */
316
- starred_url?: string;
317
- /** API-ссылка на подписки на уведомления */
318
- subscriptions_url?: string;
319
- /** Дата создания аккаунта */
320
- created_at: string;
321
- /** Дата последнего обновления аккаунта */
322
- updated_at?: string;
95
+ interface CreateEmailParams {
96
+ emails?: string[];
323
97
  }
324
- /**
325
- * Параметры для получения списка коллабораторов
326
- */
327
- interface ListCollaboratorsParams extends PaginationParams {
328
- /** Фильтр по типу связи (direct, outside, all) */
329
- affiliation?: "direct" | "outside" | "all";
330
- /** Фильтр по уровню доступа */
331
- permission?: "read" | "write" | "admin";
98
+ interface CreateFileParams {
99
+ /** ветка на которой будет базировать коммит, если пустая то будет использована ветка по умолчанию */
100
+ branch?: string;
101
+ /** content must be base64 encoded */
102
+ content?: string;
103
+ /** SHA string `json:"sha" binding:"Required"`
104
+ from_path (optional) is the path of the original file which will be moved/renamed to the path in the URL */
105
+ from_path?: string;
106
+ /** Сообщение для описания коммита, если пустое то будет использовано сообщение по умолчанию */
107
+ message?: string;
108
+ /** новая ветка которая будет отведена от указанной выше ветки и вней будет создан новый коммит */
109
+ new_branch?: string;
110
+ /** sha is the SHA for the file that already exists */
111
+ sha?: string;
112
+ /** Подписывать ли коммит */
113
+ signoff?: boolean;
332
114
  }
333
- /**
334
- * Параметры для добавления коллаборатора
335
- */
336
- interface AddCollaboratorParams {
337
- /** Уровень доступа коллаборатора */
338
- permission?: "read" | "write" | "admin";
115
+ interface CreatePagesDeploymentParams {
116
+ artifact_id?: number;
339
117
  }
340
- /**
341
- * Коллаборатор репозитория (пользователь с правами доступа)
342
- */
343
- interface Collaborator extends User2 {
344
- /** Права доступа к репозиторию */
345
- permissions?: {
346
- admin: boolean
347
- push: boolean
348
- pull: boolean
349
- };
118
+ interface CreatePullRequestParams {
119
+ /** список ответственных */
120
+ assignees?: string[];
121
+ /** ветка в которую происходит слияние */
122
+ base?: string;
123
+ /** тело запроса */
124
+ body?: string;
125
+ /** черновик */
126
+ draft?: boolean;
127
+ /** Deadline */
128
+ due_date?: string;
129
+ /** ветка из которой происходит слияние */
130
+ head?: string;
131
+ /** ветка из которой происходит слияние */
132
+ head_repo?: string;
133
+ /** Метки */
134
+ labels?: number[];
135
+ /** могут ли мэйнтейнеры изменять PR */
136
+ maintainer_can_modify?: boolean;
137
+ /** идентификатор "этапа" */
138
+ milestone?: number;
139
+ /** заголовок запроса */
140
+ title?: string;
350
141
  }
351
- /**
352
- * Интерфейс приглашения коллаборатора
353
- */
354
- interface CollaboratorInvitation {
355
- /** Уникальный идентификатор приглашения */
356
- id: number;
357
- /** Дата создания приглашения */
358
- created_at: string;
359
- /** Приглашённый пользователь */
360
- invitee: User2;
361
- /** Пользователь, отправивший приглашение */
362
- inviter: User2;
363
- /** Уровень доступа */
364
- permissions: string;
365
- /** Репозиторий */
366
- repository: Repository;
142
+ interface CreateReferenceParams {
143
+ ref?: string;
144
+ sha?: string;
367
145
  }
368
- /**
369
- * Интерфейс текущего авторизованного пользователя
370
- * Получается из API метода /user
371
- */
372
- interface CurrentUser {
373
- /** Уникальный идентификатор пользователя */
374
- id: number;
375
- /** Имя пользователя (может быть пустым) */
146
+ interface CreateReleaseParams {
147
+ body?: string;
148
+ draft?: boolean;
376
149
  name?: string;
377
- /** Полное имя пользователя */
378
- full_name?: string;
379
- /** Логин пользователя */
380
- login: string;
381
- /** Электронная почта пользователя (может быть недоступна) */
382
- email?: string;
383
- /** URL аватара пользователя */
384
- avatar_url: string;
385
- /** Веб-ссылка на профиль пользователя */
386
- html_url: string;
387
- /** URL API пользователя */
388
- url?: string;
389
- /** Количество публичных репозиториев */
390
- public_repos: number;
391
- /** Количество подписчиков */
392
- followers: number;
393
- /** URL подписчиков */
394
- followers_url?: string;
395
- /** Количество подписок */
396
- following?: number;
397
- /** URL подписок */
398
- following_url?: string;
399
- /** URL репозиториев */
400
- repos_url?: string;
401
- /** URL организаций */
402
- organizations_url?: string;
403
- /** URL starred репозиториев */
404
- starred_url?: string;
405
- /** Количество starred репозиториев */
406
- stars_count?: number;
407
- /** URL подписок на репозитории */
408
- subscriptions_url?: string;
409
- /** Биография пользователя */
410
- bio?: string;
411
- /** Тип аккаунта */
412
- type?: string;
413
- /** Является ли администратором сайта */
414
- site_admin?: boolean;
415
- /** Местоположение */
416
- location?: string;
417
- /** Подтверждён ли аккаунт */
418
- is_verified?: boolean;
419
- /** Веб-сайт пользователя */
420
- website?: string;
421
- /** Дата создания аккаунта */
422
- created_at: string;
423
- /** Дата последнего обновления */
424
- updated_at?: string;
425
- }
426
- /**
427
- * Права доступа к репозиторию
428
- */
429
- interface Permissions {
430
- /** Право администратора */
431
- admin: boolean;
432
- /** Право на запись */
433
- push: boolean;
434
- /** Право на чтение */
435
- pull: boolean;
150
+ prerelease?: boolean;
151
+ tag_name?: string;
152
+ target_commitish?: string;
436
153
  }
437
- /**
438
- * Интерфейс репозитория
439
- */
440
- interface Repository {
441
- /** Уникальный идентификатор репозитория */
442
- id: number;
443
- /** Информация о владельце репозитория */
444
- owner: User2;
445
- /** Название репозитория */
446
- name: string;
447
- /** Полное название репозитория в формате {owner}/{repo} */
448
- full_name: string;
449
- /** Описание репозитория */
154
+ interface CreateRepositoryParams {
155
+ auto_init?: boolean;
450
156
  description?: string;
451
- /** Список тем, связанных с репозиторием */
452
- topics?: string[] | null;
453
- /** Является ли репозиторий приватным */
454
- private: boolean;
455
- /** Является ли репозиторий форком другого репозитория */
456
- fork: boolean;
457
- /** Информация о родительском репозитории (если это форк) */
458
- parent?: Repository | null;
459
- /** Размер репозитория в килобайтах */
460
- size: number;
461
- /** Основной язык программирования, используемый в репозитории */
462
- language?: string;
463
- /** SSH-URL для клонирования репозитория */
464
- ssh_url: string;
465
- /** HTTPS-URL для клонирования репозитория */
466
- clone_url: string;
467
- /** Веб-ссылка на репозиторий */
468
- html_url: string;
469
- /** API-ссылка на репозиторий */
470
- url: string;
471
- /** Git-URL для клонирования репозитория */
472
- git_url: string;
473
- /** Зеркало репозитория (если доступно) */
474
- mirror_url?: string;
475
- /** Ссылка на вебсайт проекта */
476
- website?: string;
477
- /** Альтернативная ссылка на домашнюю страницу проекта */
478
- homepage?: string;
479
- /** Количество звезд у репозитория */
480
- stargazers_count: number;
481
- /** Количество форков репозитория */
482
- forks: number;
483
- /** Количество форков репозитория (дублирует поле forks) */
484
- forks_count: number;
485
- /** Количество наблюдателей за репозиторием */
486
- watchers: number;
487
- /** Количество наблюдателей за репозиторием (дублирует поле watchers) */
488
- watchers_count: number;
489
- /** Количество репозиториев в сети (форков и оригинала) */
490
- network_count: number;
491
- /** Количество подписчиков на уведомления о репозитории */
492
- subscribers_count: number;
493
- /** Количество открытых задач (issues) в репозитории */
494
- open_issues: number;
495
- /** Количество открытых задач (дублирует поле open_issues) */
496
- open_issues_count: number;
497
- /** Количество открытых pull requests */
498
- open_pr_counter: number;
499
- /** Основная ветка репозитория */
500
- default_branch: string;
501
- /** Архивирован ли репозиторий */
502
- archived: boolean;
503
- /** Разрешено ли создание задач (issues) */
504
- has_issues: boolean;
505
- /** Разрешено ли использование проектов */
506
- has_projects: boolean;
507
- /** Разрешено ли использование обсуждений */
508
- has_discussions: boolean;
509
- /** Разрешено ли использование wiki */
510
- has_wiki: boolean;
511
- /** Разрешено ли использование GitHub Pages */
512
- has_pages: boolean;
513
- /** Отключен ли репозиторий */
514
- disabled: boolean;
515
- /** Настройки приватности репозитория */
516
- visibility: VisibilityType;
517
- /** Является ли репозиторий шаблоном */
518
- is_template: boolean;
519
- /** Информация о шаблоне репозитория (если доступно) */
520
- template_repository?: Repository | null;
521
- /** Разрешены ли слияния через merge commits */
522
- allow_merge_commit: boolean;
523
- /** Разрешены ли слияния через squash commits */
524
- allow_squash_merge: boolean;
525
- /** Разрешены ли слияния через rebase */
526
- allow_rebase_merge?: boolean;
527
- /** Удалять ли ветку после слияния по умолчанию */
528
- default_delete_branch_after_merge: boolean;
529
- /** Права доступа текущего пользователя к репозиторию */
530
- permissions?: Permissions;
531
- /** API-ссылка на содержимое репозитория */
532
- contents_url?: string;
533
- /** API-ссылка на форки репозитория */
534
- forks_url?: string;
535
- /** API-ссылка на issues репозитория */
536
- issues_url?: string;
537
- /** API-ссылка на pull requests репозитория */
538
- pulls_url?: string;
539
- /** API-ссылка на языки репозитория */
540
- languages_url?: string;
541
- /** Шаблон API-ссылки на комментарии issues */
542
- issue_comment_url?: string;
543
- /** Дата создания репозитория */
544
- created_at: string;
545
- /** Дата последнего обновления репозитория */
546
- updated_at: string;
547
- /** Дата последнего push-события в репозиторий */
548
- pushed_at: string;
549
- }
550
- /**
551
- * Интерфейс ответа с распределением языков в репозитории
552
- */
553
- interface LanguagesResponse {
554
- /** Количество байт кода на каждом языке */
555
- [language: string]: number;
157
+ gitignores?: string[];
158
+ is_template?: boolean;
159
+ name?: string;
160
+ private?: boolean;
556
161
  }
557
- /**
558
- * Интерфейс информации о файле
559
- */
560
- interface FileContent {
561
- /** Имя файла */
562
- name: string;
563
- /** Путь к файлу относительно корня репозитория */
564
- path: string;
565
- /** SHA-хеш содержимого файла */
566
- sha: string;
567
- /** Размер файла в байтах */
568
- size: number;
569
- /** Тип объекта (всегда 'file' для файла) */
570
- type: typeof ContentType.File;
571
- /** Кодировка содержимого файла (например, 'base64') */
572
- encoding?: string;
573
- /** Содержимое файла в формате Base64 */
162
+ interface TreeItem {
574
163
  content?: string;
575
- /** Определенный язык программирования файла */
576
- language?: string;
577
- /** API-ссылка на файл */
578
- url?: string;
579
- /** Веб-ссылка на файл */
580
- html_url?: string;
581
- /** Git-URL для файла */
582
- git_url?: string;
583
- /** URL для скачивания файла */
584
- download_url?: string;
164
+ mode?: string;
165
+ path?: string;
166
+ sha?: string;
167
+ type?: string;
585
168
  }
586
- /**
587
- * Интерфейс информации о директории
588
- */
589
- interface DirectoryContent {
590
- /** Тип объекта (всегда 'dir' для директории) */
591
- type: typeof ContentType.Directory;
592
- /** Размер директории (всегда 0) */
593
- size: number;
594
- /** Имя директории */
595
- name: string;
596
- /** Путь к директории относительно корня репозитория */
597
- path: string;
598
- /** SHA-хеш объекта директории */
599
- sha: string;
600
- /** Список файлов и поддиректорий внутри директории */
601
- entries: Array<FileContent | DirectoryContent>;
169
+ interface CreateTreeParams {
170
+ base_tree?: string;
171
+ tree?: TreeItem[];
602
172
  }
603
- /**
604
- * Тип для содержимого репозитория (файл или директория)
605
- */
606
- type Content = FileContent | DirectoryContent;
607
- /**
608
- * Интерфейс информации о коммите
609
- */
610
- interface CommitInfo {
611
- /** SHA-хеш коммита */
612
- sha: string;
613
- /** Node ID коммита */
614
- node_id?: string;
615
- /** API-ссылка на коммит */
616
- url: string;
617
- /** Веб-ссылка на коммит */
618
- html_url: string;
619
- /** Информация об авторе коммита */
620
- author: {
621
- /** Имя автора */
622
- name: string
623
- /** Email автора */
624
- email: string
625
- /** Дата создания коммита */
626
- date: string
627
- };
628
- /** Информация о коммиттере */
629
- committer: {
630
- /** Имя коммиттера */
631
- name: string
632
- /** Email коммиттера */
633
- email: string
634
- /** Дата коммита */
635
- date: string
636
- };
637
- /** Сообщение коммита */
638
- message: string;
639
- /** Информация о дереве коммита */
640
- tree: {
641
- /** SHA-хеш дерева */
642
- sha: string
643
- /** URL дерева */
644
- url: string
645
- };
646
- /** Родительские коммиты */
647
- parents: Array<{
648
- /** SHA-хеш родительского коммита */
649
- sha: string
650
- /** API-ссылка на родительский коммит */
651
- url: string
652
- /** Веб-ссылка на родительский коммит */
653
- html_url: string
654
- }>;
173
+ interface CreateVariableParams {
174
+ name?: string;
175
+ value?: string;
655
176
  }
656
- /**
657
- * Интерфейс ответа на создание файла
658
- */
659
- interface FileCreationResponse {
660
- /** Информация о созданном файле */
661
- content: FileContent;
662
- /** Информация о коммите */
663
- commit: CommitInfo;
177
+ interface DeleteEmailParams {
178
+ emails?: string[];
664
179
  }
665
- /**
666
- * Интерфейс ответа на удаление файла
667
- */
668
- interface FileDeletionResponse {
669
- /** Информация о содержимом (null для удаленного файла) */
670
- content: null;
671
- /** Информация о коммите удаления */
672
- commit: CommitInfo;
180
+ interface DeleteFileParams {
181
+ /** ветка на которой будет базировать коммит, если пустая то будет использована ветка по умолчанию */
182
+ branch?: string;
183
+ /** Сообщение для описания коммита, если пустое то будет использовано сообщение по умолчанию */
184
+ message?: string;
185
+ /** новая ветка которая будет отведена от указанной выше ветки и вней будет создан новый коммит */
186
+ new_branch?: string;
187
+ /** sha is the SHA for the file that already exists */
188
+ sha?: string;
189
+ /** Подписывать ли коммит */
190
+ signoff?: boolean;
191
+ }
192
+ interface UpdateReleaseParams {
193
+ body?: string;
194
+ draft?: boolean;
195
+ name?: string;
196
+ prerelease?: boolean;
197
+ tag_name?: string;
198
+ target_commitish?: string;
673
199
  }
674
- /**
675
- * Интерфейс параметров для создания форка
676
- */
677
200
  interface CreateForkParams {
678
- /** Имя нового форка */
201
+ /** Описание */
202
+ description?: string;
203
+ /** Имя форкнутого репозитория */
679
204
  name?: string;
680
- /** Название организации, в которую будет создан форк */
205
+ /** Название организации, если форкаем в организацию */
681
206
  organization?: string;
682
- /** Описание нового форка */
683
- description?: string;
684
- }
685
- /**
686
- * Параметры для получения содержимого репозитория
687
- */
688
- interface GetContentParams {
689
- /** Ссылка на ветку/тег/коммит (по умолчанию основная ветка) */
690
- ref?: string;
691
- /** Уровень детализации информации о коммите (по умолчанию "fast") */
692
- scope?: "fast" | "full";
693
207
  }
694
- /**
695
- * Интерфейс параметров для создания файла
696
- */
697
- interface CreateFileParams {
698
- /** Имя ветки, в которую будет добавлен файл (по умолчанию - основная ветка) */
699
- branch?: string;
700
- /** Содержимое файла, закодированное в Base64 */
701
- content: string;
702
- /** Сообщение коммита */
703
- message?: string;
704
- /** Имя новой ветки, которая будет создана для этого изменения */
705
- new_branch?: string;
706
- /** Добавлять ли подпись (Signed-off-by) в коммит */
707
- signoff?: boolean;
708
- /** Путь исходного файла (для копирования/перемещения) */
709
- from_path?: string;
710
- /** SHA-хеш файла (для обновления существующего файла) */
711
- sha?: string;
712
- }
713
- /**
714
- * Интерфейс параметров для обновления файла
715
- */
716
- interface UpdateFileParams {
717
- /** Имя ветки, в которой находится файл */
718
- branch?: string;
719
- /** Новое содержимое файла, закодированное в Base64 */
720
- content: string;
721
- /** SHA-хеш текущего содержимого файла */
722
- sha: string;
723
- /** Если файл переименовывается, указывает старый путь к файлу */
724
- from_path?: string;
725
- /** Сообщение коммита */
726
- message?: string;
727
- /** Имя новой ветки, которая будет создана для этого изменения */
728
- new_branch?: string;
729
- /** Добавлять ли подпись (Signed-off-by) в коммит */
730
- signoff?: boolean;
731
- }
732
- /**
733
- * Интерфейс параметров для удаления файла
734
- */
735
- interface DeleteFileParams {
736
- /** SHA-хеш текущего содержимого файла */
737
- sha: string;
738
- /** Имя ветки, в которой находится файл */
739
- branch?: string;
740
- /** Сообщение коммита */
741
- message?: string;
742
- /** Имя новой ветки, которая будет создана для этого изменения */
743
- new_branch?: string;
744
- /** Добавлять ли подпись (Signed-off-by) в коммит */
745
- signoff?: boolean;
208
+ interface UpdateRepositoryParams {
209
+ allow_auto_merge?: boolean;
210
+ allow_merge?: boolean;
211
+ allow_rebase?: boolean;
212
+ allow_rebase_merge?: boolean;
213
+ allow_squash_merge?: boolean;
214
+ allow_update_branch?: boolean;
215
+ archived?: boolean;
216
+ autodetect_manual_merge?: boolean;
217
+ default_allow_maintainer_edit?: boolean;
218
+ default_branch?: string;
219
+ default_merge_style?: string;
220
+ delete_branch_on_merge?: boolean;
221
+ description?: string;
222
+ homepage?: string;
223
+ ignore_whitespace?: boolean;
224
+ is_template?: boolean;
225
+ /** обработаны */
226
+ name?: string;
227
+ private?: boolean;
746
228
  }
747
- /**
748
- * Интерфейс базовой или целевой ветки для pull request
749
- */
750
- interface PullRequestBase {
751
- /** Метка ветки */
752
- label: string;
753
- /** Имя ветки */
754
- ref: string;
755
- /** SHA-хеш последнего коммита в ветке */
756
- sha: string;
757
- /** ID репозитория */
758
- repo_id: number;
759
- /** Информация о репозитории */
760
- repo: {
761
- /** ID репозитория */
762
- id: number
763
- /** Название репозитория */
764
- name: string
765
- /** Полное название репозитория в формате {owner}/{repo} */
766
- full_name: string
767
- /** Является ли репозиторий приватным */
768
- private: boolean
769
- /** Основная ветка репозитория */
770
- default_branch: string
771
- };
229
+ interface TeamRepoPermissions {
230
+ permission?: string;
772
231
  }
773
- /**
774
- * Интерфейс pull request
775
- */
776
- interface PullRequest {
777
- /** Уникальный идентификатор pull request */
778
- id: number;
779
- /** API-ссылка на pull request */
780
- url: string;
781
- /** Номер pull request в репозитории */
782
- number: number;
783
- /** Информация о пользователе, создавшем pull request */
784
- user: {
785
- /** ID пользователя */
786
- id: number
787
- /** Логин пользователя */
788
- login: string
789
- /** Тип аккаунта */
790
- type: string
791
- /** URL аватара пользователя */
792
- avatar_url: string
793
- /** Веб-ссылка на профиль пользователя */
794
- html_url: string
795
- /** Права администратора */
796
- site_admin: boolean
797
- };
798
- /** Заголовок pull request */
799
- title: string;
800
- /** Описание pull request */
801
- body?: string;
802
- /** Список меток */
803
- labels: Label[];
804
- /** Информация о майлстоуне */
805
- milestone?: Milestone;
806
- /** Информация о назначенном пользователе */
807
- assignee?: User2;
808
- /** Список назначенных пользователей */
809
- assignees?: User2[];
810
- /** Состояние pull request (открыт/закрыт) */
811
- state: PullRequestState;
812
- /** Заблокирован ли pull request */
813
- locked: boolean;
814
- /** Количество комментариев */
815
- comments: number;
816
- /** Веб-ссылка на pull request */
817
- html_url: string;
818
- /** Ссылка на diff файл */
819
- diff_url: string;
820
- /** Ссылка на patch файл */
821
- patch_url: string;
822
- /** Можно ли слить pull request */
823
- mergeable: boolean;
824
- /** Был ли pull request слит */
825
- merged: boolean;
826
- /** Дата слияния (если был слит) */
827
- merged_at?: string | null;
828
- /** SHA-хеш коммита слияния (если был слит) */
829
- merge_commit_sha?: string | null;
830
- /** Пользователь, выполнивший слияние */
831
- merged_by?: User2 | null;
832
- /** Может ли мейнтейнер изменять pull request */
833
- maintainer_can_modify: boolean;
834
- /** Является ли pull request черновиком */
835
- is_draft?: boolean;
836
- /** Запрошенные ревьюеры */
837
- requested_reviewers?: User2[];
838
- /** Запрошенные команды для ревью */
839
- requested_teams?: Team[];
840
- /** Информация о целевой ветке */
841
- base: PullRequestBase;
842
- /** Информация о ветке с изменениями */
843
- head: PullRequestBase;
844
- /** Дата создания pull request */
845
- created_at: string;
846
- /** Дата обновления pull request */
847
- updated_at: string;
848
- /** Дата закрытия pull request (если закрыт) */
849
- closed_at?: string | null;
232
+ interface UpdateBranchParams {
233
+ expected_head_sha?: string;
850
234
  }
851
- /**
852
- * Интерфейс параметров для создания pull request
853
- */
854
- interface CreatePullRequestParams {
855
- /** Заголовок pull request */
856
- title: string;
857
- /** Описание pull request */
235
+ interface UpdatePullRequestParams {
236
+ /** ветка в которую происходит слияние */
237
+ base?: string;
238
+ /** тело запроса */
858
239
  body?: string;
859
- /** Имя ветки, из которой предлагаются изменения */
860
- head: string;
861
- /** Имя ветки, в которую будут внесены изменения */
862
- base: string;
863
- /** Назначенные пользователи */
864
- assignees?: string[];
865
- /** Черновик ли pull request */
866
- draft?: boolean;
867
- /** Срок выполнения */
868
- due_date?: string;
869
- /** Репозиторий head ветки (для кросс-репозиторных PR) */
870
- head_repo?: string;
871
- /** ID меток */
872
- labels?: number[];
873
- /** Может ли мейнтейнер модифицировать */
240
+ /** могут ли мэйнтейнеры изменять PR */
874
241
  maintainer_can_modify?: boolean;
875
- /** ID milestone */
876
- milestone?: number;
242
+ /** статус запроса */
243
+ state?: string;
244
+ /** заголовок запроса */
245
+ title?: string;
877
246
  }
878
- /**
879
- * Интерфейс параметров для получения списка pull requests
880
- */
881
- interface ListPullRequestsParams {
882
- /**
883
- * Фильтр по состоянию pull request
884
- *
885
- * @default "open"
886
- */
887
- state?: PullRequestStateFilter;
888
- /** Фильтр по ветке-источнику в формате branch, user:branch или user:repo:branch */
889
- head?: string;
890
- /** Фильтр по целевой ветке */
891
- base?: string;
892
- /**
893
- * Критерий сортировки
894
- *
895
- * @default "created"
896
- */
897
- sort?: PullRequestSortCriteria;
898
- /**
899
- * Направление сортировки
900
- *
901
- * @default "desc"
902
- */
903
- direction?: PullRequestSortDirection;
904
- /** Номер страницы (начиная с 1) */
905
- page?: number;
906
- /** Количество элементов на странице (максимум 100) */
907
- per_page?: number;
247
+ interface ActionWorkflowRun {
248
+ head_sha?: string;
249
+ id?: number;
250
+ repository_id?: number;
908
251
  }
909
- /**
910
- * Интерфейс метки (label) для issues и pull requests
911
- */
912
- interface Label {
913
- /** Идентификатор метки */
914
- id: number;
915
- /** Имя метки */
916
- name: string;
917
- /** Описание метки */
918
- description?: string;
919
- /** Цвет метки в формате HEX */
920
- color: string;
921
- /** URL метки */
252
+ interface ActionArtifact {
253
+ archive_download_url?: string;
254
+ created_at?: string;
255
+ expired?: boolean;
256
+ expires_at?: string;
257
+ id?: number;
258
+ name?: string;
259
+ size_in_bytes?: number;
260
+ updated_at?: string;
922
261
  url?: string;
923
- /** Эксклюзивная метка (взаимоисключающая в группе) */
924
- exclusive?: boolean;
925
- /** Архивирована ли метка */
926
- is_archived?: boolean;
262
+ workflow_run?: ActionWorkflowRun;
927
263
  }
928
- /**
929
- * Интерфейс майлстоуна (milestone)
930
- */
931
- interface Milestone {
932
- /** Идентификатор майлстоуна */
933
- id: number;
934
- /** Номер майлстоуна */
935
- number: number;
936
- /** Название майлстоуна */
937
- title: string;
938
- /** Описание майлстоуна */
264
+ interface ActionArtifactList {
265
+ artifacts?: ActionArtifact[];
266
+ total_count?: number;
267
+ }
268
+ interface ActionLink {
939
269
  description?: string;
940
- /** Создатель майлстоуна */
941
- creator: User2;
942
- /** Состояние майлстоуна (open/closed) */
943
- state: "open" | "closed";
944
- /** Количество открытых задач */
945
- open_issues: number;
946
- /** Количество закрытых задач */
947
- closed_issues: number;
948
- /** Дата создания */
949
- created_at: string;
950
- /** Дата обновления */
951
- updated_at: string;
952
- /** Дата окончания (due date) */
953
- due_on?: string;
270
+ id?: number;
271
+ link?: string;
272
+ name?: string;
273
+ run_id?: number;
954
274
  }
955
- /**
956
- * Интерфейс ошибки API
957
- */
958
- interface ApiError {
959
- /** Тип ошибки */
960
- error: string;
961
- /** Сообщение об ошибке */
962
- message: string;
963
- /** HTTP-код статуса */
964
- status: number;
275
+ interface ActionRunnerLabel {
276
+ id?: number;
277
+ name?: string;
278
+ type?: string;
965
279
  }
966
- /**
967
- * Интерфейс email адреса
968
- */
969
- interface Email {
970
- /** Email адрес */
971
- email: string;
972
- /** Подтвержден ли email */
973
- verified: boolean;
974
- /** Является ли основным */
975
- primary: boolean;
976
- /** Видимость email */
977
- visibility: string;
280
+ interface ActionRunner {
281
+ busy?: boolean;
282
+ id?: number;
283
+ labels?: ActionRunnerLabel[];
284
+ name?: string;
285
+ status?: string;
978
286
  }
979
- /**
980
- * Параметры для добавления email адресов
981
- */
982
- interface AddEmailParams {
983
- /** Массив email адресов для добавления */
984
- emails: string[];
287
+ interface ActionRunners {
288
+ runners?: ActionRunner[];
289
+ total_count?: number;
985
290
  }
986
- /**
987
- * Параметры для удаления email адресов
988
- */
989
- interface RemoveEmailParams {
990
- /** Массив email адресов для удаления */
991
- emails: string[];
291
+ interface Attachment {
292
+ browser_download_url?: string;
293
+ created_at?: string;
294
+ download_count?: number;
295
+ id?: number;
296
+ name?: string;
297
+ size?: number;
298
+ uuid?: string;
992
299
  }
993
- /**
994
- * Параметры для создания репозитория
995
- */
996
- interface CreateRepositoryParams {
997
- /** Имя репозитория */
998
- name: string;
999
- /** Описание репозитория */
300
+ interface CommitMeta {
301
+ created?: string;
302
+ html_url?: string;
303
+ sha?: string;
304
+ url?: string;
305
+ }
306
+ interface Branch {
307
+ commit?: CommitMeta;
308
+ name?: string;
309
+ protected?: boolean;
310
+ }
311
+ interface Permissions {
312
+ admin?: boolean;
313
+ pull?: boolean;
314
+ push?: boolean;
315
+ }
316
+ interface Collaborator {
317
+ /** Адрес аватарки */
318
+ avatar_url?: string;
319
+ /** О себе */
320
+ bio?: string;
321
+ /** Почта */
322
+ email?: string;
323
+ /** Url для получения подписчиков пользователя */
324
+ followers_url?: string;
325
+ /** Url для получения подписок пользователя */
326
+ following_url?: string;
327
+ /** Полное имя */
328
+ full_name?: string;
329
+ /** Адрес страницы пользователя */
330
+ html_url?: string;
331
+ /** Идентификатор */
332
+ id?: number;
333
+ /** Логин пользователя */
334
+ login?: string;
335
+ /** Имя пользователя */
336
+ name?: string;
337
+ /** Url для получения организаций пользователя */
338
+ organizations_url?: string;
339
+ /** Полномочия */
340
+ permissions?: Permissions;
341
+ /** Url для получения репозиториев пользователя */
342
+ repos_url?: string;
343
+ /** Есть ли права админа */
344
+ site_admin?: boolean;
345
+ /** Url для получения репозиториев пользователя, которые были добавлены в избранное */
346
+ starred_url?: string;
347
+ /** Url для получения подписок пользователя */
348
+ subscriptions_url?: string;
349
+ /** Тип пользователя */
350
+ type?: string;
351
+ /** Url для получения пользователя */
352
+ url?: string;
353
+ /** Вебсайт */
354
+ website?: string;
355
+ }
356
+ interface UserPublicInfo {
357
+ avatar_url?: string;
358
+ followers_url?: string;
359
+ following_url?: string;
360
+ html_url?: string;
361
+ id?: number;
362
+ login?: string;
363
+ organizations_url?: string;
364
+ repos_url?: string;
365
+ site_admin?: boolean;
366
+ type?: string;
367
+ url?: string;
368
+ }
369
+ interface RepoPublicInfo {
370
+ contents_url?: string;
1000
371
  description?: string;
1001
- /** Приватный ли репозиторий */
372
+ fork?: boolean;
373
+ forks_url?: string;
374
+ full_name?: string;
375
+ html_url?: string;
376
+ id?: number;
377
+ issue_comment_url?: string;
378
+ issues_url?: string;
379
+ languages_url?: string;
380
+ name?: string;
381
+ owner?: UserPublicInfo;
1002
382
  private?: boolean;
1003
- /** Создать ли инициализирующий коммит */
1004
- auto_init?: boolean;
1005
- /** Список .gitignore шаблонов */
1006
- gitignores?: string[];
1007
- /** Является ли репозиторий шаблоном */
1008
- is_template?: boolean;
383
+ pulls_url?: string;
384
+ url?: string;
1009
385
  }
1010
- /**
1011
- * Интерфейс issue
1012
- */
1013
- interface Issue {
1014
- /** Уникальный идентификатор issue */
1015
- id: number;
1016
- /** Номер issue в репозитории */
1017
- number: number;
1018
- /** Заголовок issue */
1019
- title: string;
1020
- /** Описание issue */
1021
- body?: string;
1022
- /** Состояние issue */
1023
- state: IssueState;
1024
- /** Пользователь, создавший issue */
1025
- user: User2;
1026
- /** Список меток */
1027
- labels: Label[];
1028
- /** Назначенный пользователь */
1029
- assignee?: User2 | null;
1030
- /** Назначенные пользователи */
1031
- assignees?: User2[];
1032
- /** Информация о майлстоуне */
1033
- milestone?: Milestone | null;
1034
- /** Заблокирован ли issue */
1035
- is_locked?: boolean;
1036
- /** Срок выполнения */
1037
- due_date?: string | null;
1038
- /** Связанный pull request (если issue создан из PR) */
1039
- pull_request?: PullRequestMeta | null;
1040
- /** Информация о репозитории */
1041
- repository?: RepositoryMeta;
1042
- /** Ссылка на ветку */
1043
- ref?: string;
1044
- /** Оригинальный автор (для импортированных issues) */
1045
- original_author?: string;
1046
- /** ID оригинального автора */
1047
- original_author_id?: number;
1048
- /** Вложения */
1049
- assets?: Asset[];
1050
- /** Дата создания */
1051
- created_at: string;
1052
- /** Дата обновления */
1053
- updated_at: string;
1054
- /** Дата закрытия */
1055
- closed_at?: string | null;
1056
- /** Количество комментариев */
1057
- comments: number;
1058
- /** Веб-ссылка на issue */
1059
- html_url: string;
1060
- /** API-ссылка на issue */
1061
- url: string;
386
+ interface CollaboratorInvitation {
387
+ created_at?: string;
388
+ id?: number;
389
+ invitee?: UserPublicInfo;
390
+ inviter?: UserPublicInfo;
391
+ permissions?: string;
392
+ repository?: RepoPublicInfo;
1062
393
  }
1063
- /**
1064
- * Интерфейс комментария к issue или pull request
1065
- */
1066
394
  interface Comment {
1067
- /** Уникальный идентификатор комментария */
1068
- id: number;
1069
- /** Текст комментария */
1070
- body: string;
1071
- /** Пользователь, создавший комментарий */
1072
- user: User2;
1073
- /** Дата создания */
1074
- created_at: string;
1075
- /** Дата обновления */
1076
- updated_at: string;
1077
- /** Веб-ссылка на комментарий */
1078
- html_url: string;
1079
- /** API-ссылка на комментарий */
1080
- url: string;
1081
- /** Ассоциация автора с репозиторием */
1082
395
  author_association?: string;
1083
- /** URL issue */
1084
- issue_url?: string;
1085
- }
1086
- /**
1087
- * Интерфейс события в timeline issue
1088
- * @deprecated Используйте TimelineComment вместо этого
1089
- */
1090
- interface TimelineEvent {
1091
- /** Уникальный идентификатор события */
1092
- id: number;
1093
- /** Тип события */
1094
- event: string;
1095
- /** Пользователь, вызвавший событие */
1096
- actor: User2;
1097
- /** Дата создания события */
1098
- created_at: string;
1099
- /** Метка (для событий с метками) */
1100
- label?: Label;
1101
- /** Milestone (для событий с milestone) */
1102
- milestone?: Milestone;
1103
- /** Переименование (для событий переименования) */
1104
- rename?: {
1105
- from: string
1106
- to: string
1107
- };
1108
- }
1109
- /**
1110
- * Интерфейс комментария/события в timeline issue (согласно OpenAPI v1.1)
1111
- */
1112
- interface TimelineComment {
1113
- /** Уникальный идентификатор */
1114
- id?: number;
1115
- /** Тип события */
1116
- type?: string;
1117
- /** Текст комментария */
1118
396
  body?: string;
1119
- /** Веб-ссылка */
397
+ created_at?: string;
398
+ /** Адрес страницы с комметарием */
1120
399
  html_url?: string;
1121
- /** Ссылка на issue */
400
+ id?: number;
401
+ /** Url для получения issue/PR */
1122
402
  issue_url?: string;
1123
- /** Ссылка на pull request */
1124
- pull_request_url?: string;
1125
- /** Пользователь, создавший событие */
1126
- user?: User2;
1127
- /** Назначенный пользователь */
1128
- assignee?: User2;
1129
- /** Назначенная команда */
1130
- assignee_team?: Team;
1131
- /** Метка (для событий с метками) */
1132
- label?: Label;
1133
- /** Milestone */
1134
- milestone?: Milestone;
1135
- /** Старый milestone (для событий изменения milestone) */
1136
- old_milestone?: Milestone;
1137
- /** Новая ссылка */
1138
- new_ref?: string;
1139
- /** Старая ссылка */
1140
- old_ref?: string;
1141
- /** Новый заголовок */
1142
- new_title?: string;
1143
- /** Старый заголовок */
1144
- old_title?: string;
1145
- /** ID проекта */
1146
- project_id?: number;
1147
- /** Старый ID проекта */
1148
- old_project_id?: number;
1149
- /** Действие со ссылкой */
1150
- ref_action?: string;
1151
- /** Ссылочный комментарий */
1152
- ref_comment?: Comment;
1153
- /** SHA коммита, где была ссылка на issue/PR */
1154
- ref_commit_sha?: string;
1155
- /** Ссылочный issue */
1156
- ref_issue?: Issue;
1157
- /** Зависимый issue */
1158
- dependent_issue?: Issue;
1159
- /** Были ли назначенные удалены (true) или добавлены (false) */
1160
- removed_assignee?: boolean;
1161
- /** Пользователь, разрешивший комментарий */
1162
- resolve_doer?: User2;
1163
- /** ID ревью */
1164
- review_id?: number;
1165
- /** Отслеживаемое время */
1166
- tracked_time?: TrackedTime;
1167
- /** Дата создания */
1168
- created_at?: string;
1169
- /** Дата обновления */
1170
403
  updated_at?: string;
404
+ /** Url для получения пользователя */
405
+ url?: string;
406
+ user?: UserPublicInfo;
1171
407
  }
1172
- /**
1173
- * Интерфейс отслеживаемого времени
1174
- */
1175
- interface TrackedTime {
1176
- /** Идентификатор */
1177
- id?: number;
1178
- /** Дата создания */
408
+ interface CommitFiles {
409
+ additions?: number;
410
+ blob_url?: string;
411
+ changes?: number;
412
+ contents_url?: string;
413
+ deletions?: number;
414
+ filename?: string;
415
+ patch?: string;
416
+ raw_url?: string;
417
+ sha?: string;
418
+ status?: string;
419
+ }
420
+ interface CommitUser {
421
+ date?: string;
422
+ email?: string;
423
+ name?: string;
424
+ }
425
+ interface TreeMeta {
1179
426
  created?: string;
1180
- /** Время в секундах */
1181
- time?: number;
1182
- /** ID пользователя (deprecated) */
1183
- user_id?: number;
1184
- /** Имя пользователя */
1185
- user_name?: string;
1186
- /** ID issue (deprecated) */
1187
- issue_id?: number;
1188
- /** Issue */
1189
- issue?: Issue;
427
+ sha?: string;
428
+ url?: string;
1190
429
  }
1191
- /**
1192
- * Параметры для получения списка веток
1193
- */
1194
- interface ListBranchesParams extends PaginationParams {
1195
- /** Поисковый запрос для фильтрации веток по имени */
1196
- q?: string;
430
+ interface RepoCommit {
431
+ author?: CommitUser;
432
+ committer?: CommitUser;
433
+ message?: string;
434
+ tree?: TreeMeta;
435
+ url?: string;
1197
436
  }
1198
- /**
1199
- * Интерфейс ветки репозитория
1200
- */
1201
- interface Branch {
1202
- /** Имя ветки */
1203
- name: string;
1204
- /** SHA-хеш последнего коммита */
1205
- commit: {
1206
- sha: string
1207
- url: string
1208
- /** Дата создания коммита */
1209
- created?: string
1210
- /** Веб-ссылка на коммит */
1211
- html_url?: string
1212
- };
1213
- /** Защищена ли ветка */
1214
- protected?: boolean;
437
+ interface CommitStats {
438
+ additions?: number;
439
+ deletions?: number;
440
+ total?: number;
1215
441
  }
1216
- /**
1217
- * Интерфейс коммита
1218
- */
1219
442
  interface Commit {
1220
- /** SHA-хеш коммита */
1221
- sha: string;
1222
- /** Node ID коммита */
1223
- node_id?: string;
1224
- /** Информация о коммите */
1225
- commit: {
1226
- /** Автор коммита */
1227
- author: {
1228
- name: string
1229
- email: string
1230
- date: string
1231
- }
1232
- /** Коммиттер */
1233
- committer: {
1234
- name: string
1235
- email: string
1236
- date: string
1237
- }
1238
- /** Сообщение коммита */
1239
- message: string
1240
- /** Дерево коммита */
1241
- tree: {
1242
- sha: string
1243
- url: string
1244
- /** Дата создания */
1245
- created?: string
1246
- }
1247
- };
1248
- /** Автор (пользователь GitVerse) */
1249
- author?: User2 | null;
1250
- /** Коммиттер (пользователь GitVerse) */
1251
- committer?: User2 | null;
1252
- /** Родительские коммиты */
1253
- parents: Array<{
1254
- sha: string
1255
- url: string
1256
- html_url: string
1257
- }>;
1258
- /** API-ссылка на коммит */
1259
- url: string;
1260
- /** Веб-ссылка на коммит */
1261
- html_url: string;
1262
- /** Ветка коммита */
443
+ author?: UserPublicInfo;
1263
444
  branch?: string;
1264
- /** Дата создания */
445
+ commit?: RepoCommit;
446
+ committer?: UserPublicInfo;
1265
447
  created?: string;
1266
- /** Изменённые файлы */
1267
- files?: CommitFile[];
1268
- /** Статистика изменений */
1269
- stats?: {
1270
- additions: number
1271
- deletions: number
1272
- total: number
1273
- };
448
+ files?: CommitFiles[];
449
+ html_url?: string;
450
+ parents?: CommitMeta[];
451
+ sha?: string;
452
+ stats?: CommitStats;
453
+ url?: string;
1274
454
  }
1275
- /**
1276
- * Файл в коммите
1277
- */
1278
- interface CommitFile {
1279
- /** Имя файла */
1280
- filename: string;
1281
- /** Количество добавленных строк */
1282
- additions: number;
1283
- /** Количество удалённых строк */
1284
- deletions: number;
1285
- /** Общее количество изменений */
1286
- changes: number;
1287
- /** Статус файла (added, modified, removed, renamed) */
1288
- status: string;
1289
- /** Предыдущее имя файла (при переименовании) */
1290
- previous_filename?: string;
1291
- /** SHA-хеш blob файла */
455
+ interface CommitVerification {
456
+ payload?: string;
457
+ reason?: string;
458
+ signature?: string;
459
+ verified?: boolean;
460
+ verifiedAt?: string;
461
+ }
462
+ interface CompareResponse {
463
+ ahead_by?: number;
464
+ base_commit?: Commit;
465
+ behind_by?: number;
466
+ commits?: Commit[];
467
+ files?: CommitFiles[];
468
+ html_url?: string;
469
+ merge_base_commit?: Commit;
470
+ status?: string;
471
+ total_commits?: number;
472
+ url?: string;
473
+ }
474
+ interface FileLinksResponse {
475
+ git?: string;
476
+ html?: string;
477
+ self?: string;
478
+ }
479
+ interface ContentsResponse {
480
+ /** Ссылки */
481
+ _links?: FileLinksResponse;
482
+ /** `content` is populated when `type` is `file`, otherwise null */
483
+ content?: string;
484
+ /** DownloadURL ссылка на скачивание файла */
485
+ download_url?: string;
486
+ /** `encoding` is populated when `type` is `file`, otherwise null */
487
+ encoding?: string;
488
+ /** GitURL ссылка на получение файла */
489
+ git_url?: string;
490
+ /** HtmlURL ссылка на страницу с содержимым файла */
491
+ html_url?: string;
492
+ /** Язык программирования используемый в файле (если тип файл) */
493
+ language?: string;
494
+ name?: string;
495
+ path?: string;
1292
496
  sha?: string;
1293
- /** URL blob файла */
1294
- blob_url?: string;
1295
- /** URL contents файла */
1296
- contents_url?: string;
1297
- /** URL raw файла */
1298
- raw_url?: string;
1299
- /** Патч с изменениями */
1300
- patch?: string;
497
+ size?: number;
498
+ /** `submodule_git_url` is populated when `type` is `submodule`, otherwise null */
499
+ submodule_git_url?: string;
500
+ /** `target` is populated when `type` is `symlink`, otherwise null */
501
+ target?: string;
502
+ /** `type` will be `file`, `dir`, `symlink`, or `submodule` */
503
+ type?: string;
504
+ /** Url возвращает ссылку на получение такого же JSON */
505
+ url?: string;
1301
506
  }
1302
- /**
1303
- * Параметры для создания коммита
1304
- */
1305
- interface CreateCommitParams {
1306
- /** Сообщение коммита */
1307
- message: string;
1308
- /** SHA-хеш дерева */
1309
- tree: string;
1310
- /** SHA-хеши родительских коммитов */
1311
- parents?: string[];
1312
- /** Информация об авторе */
1313
- author?: {
1314
- name: string
1315
- email: string
1316
- date?: string
1317
- };
1318
- /** Информация о коммиттере */
1319
- committer?: {
1320
- name: string
1321
- email: string
1322
- date?: string
1323
- };
507
+ interface FileCommitResponse {
508
+ author?: CommitUser;
509
+ committer?: CommitUser;
510
+ created?: string;
511
+ html_url?: string;
512
+ message?: string;
513
+ parents?: CommitMeta[];
514
+ sha?: string;
515
+ tree?: CommitMeta;
516
+ url?: string;
517
+ verification?: CommitVerification;
1324
518
  }
1325
- /**
1326
- * Параметры для обновления репозитория
1327
- */
1328
- interface UpdateRepositoryParams {
1329
- /** Новое название репозитория */
519
+ interface FileCreationResponse {
520
+ commit?: FileCommitResponse;
521
+ content?: ContentsResponse;
522
+ }
523
+ interface FileDeleteResponse {
524
+ commit?: FileCommitResponse;
525
+ content?: unknown;
526
+ }
527
+ interface Email {
528
+ email?: string;
529
+ primary?: boolean;
530
+ verified?: boolean;
531
+ visibility?: string;
532
+ }
533
+ interface GitEntry {
534
+ mode?: string;
535
+ path?: string;
536
+ sha?: string;
537
+ size?: number;
538
+ type?: string;
539
+ url?: string;
540
+ }
541
+ interface GitObject {
542
+ sha?: string;
543
+ type?: string;
544
+ url?: string;
545
+ }
546
+ interface GitTreeResponse {
547
+ page?: number;
548
+ sha?: string;
549
+ total_count?: number;
550
+ tree?: GitEntry[];
551
+ truncated?: boolean;
552
+ url?: string;
553
+ }
554
+ interface User {
555
+ /** Адрес аватарки */
556
+ avatar_url?: string;
557
+ /** О себе */
558
+ bio?: string;
559
+ /** Дата создания учетной записи */
560
+ created_at?: string;
561
+ /** Почта */
562
+ email?: string;
563
+ /** Счетчики */
564
+ followers?: number;
565
+ /** Url для получения подписчиков пользователя */
566
+ followers_url?: string;
567
+ following?: number;
568
+ /** Url для получения подписок пользователя */
569
+ following_url?: string;
570
+ /** Полное имя */
571
+ full_name?: string;
572
+ /** Адрес страницы пользователя */
573
+ html_url?: string;
574
+ /** Идентификатор */
575
+ id?: number;
576
+ /** Верифицирован? */
577
+ is_verified?: boolean;
578
+ /** Местоположение */
579
+ location?: string;
580
+ /** Логин пользователя */
581
+ login?: string;
582
+ /** Имя пользователя */
1330
583
  name?: string;
1331
- /** Новое описание репозитория */
584
+ /** Url для получения организаций пользователя */
585
+ organizations_url?: string;
586
+ /** Публичные репозитории */
587
+ public_repos?: number;
588
+ /** Url для получения репозиториев пользователя */
589
+ repos_url?: string;
590
+ /** Есть ли права админа */
591
+ site_admin?: boolean;
592
+ /** Url для получения репозиториев пользователя, которые были добавлены в избранное */
593
+ starred_url?: string;
594
+ /** Количество репозиториев в избранном */
595
+ stars_count?: number;
596
+ /** Url для получения подписок пользователя */
597
+ subscriptions_url?: string;
598
+ /** Тип пользователя */
599
+ type?: string;
600
+ /** Дата изменения учетной записи */
601
+ updated_at?: string;
602
+ /** Url для получения пользователя */
603
+ url?: string;
604
+ /** Вебсайт */
605
+ website?: string;
606
+ }
607
+ interface Label {
608
+ /** example: 00aabb */
609
+ color?: string;
1332
610
  description?: string;
1333
- /** Приватный ли репозиторий */
1334
- private?: boolean;
1335
- /** Ветка по умолчанию */
1336
- default_branch?: string;
1337
- /** Архивирован ли репозиторий */
1338
- archived?: boolean;
1339
- /** Разрешить авто-слияние */
1340
- allow_auto_merge?: boolean;
1341
- /** Разрешить merge коммиты */
1342
- allow_merge?: boolean;
1343
- /** Разрешить rebase */
1344
- allow_rebase?: boolean;
1345
- /** Разрешить rebase слияние */
611
+ /** example: false */
612
+ exclusive?: boolean;
613
+ id?: number;
614
+ /** example: false */
615
+ is_archived?: boolean;
616
+ name?: string;
617
+ url?: string;
618
+ }
619
+ interface Milestone {
620
+ closed_at?: string;
621
+ closed_issues?: number;
622
+ created_at?: string;
623
+ description?: string;
624
+ due_on?: string;
625
+ id?: number;
626
+ open_issues?: number;
627
+ state?: string;
628
+ title?: string;
629
+ updated_at?: string;
630
+ }
631
+ interface PullRequestMeta {
632
+ draft?: boolean;
633
+ html_url?: string;
634
+ merged?: boolean;
635
+ merged_at?: string;
636
+ }
637
+ interface RepositoryMeta {
638
+ full_name?: string;
639
+ id?: number;
640
+ name?: string;
641
+ owner?: string;
642
+ }
643
+ interface Issue {
644
+ assets?: Attachment[];
645
+ assignee?: User;
646
+ assignees?: User[];
647
+ body?: string;
648
+ closed_at?: string;
649
+ comments?: number;
650
+ created_at?: string;
651
+ due_date?: string;
652
+ html_url?: string;
653
+ id?: number;
654
+ is_locked?: boolean;
655
+ labels?: Label[];
656
+ milestone?: Milestone;
657
+ number?: number;
658
+ original_author?: string;
659
+ original_author_id?: number;
660
+ pull_request?: PullRequestMeta;
661
+ ref?: string;
662
+ repository?: RepositoryMeta;
663
+ state?: string;
664
+ title?: string;
665
+ updated_at?: string;
666
+ url?: string;
667
+ user?: User;
668
+ }
669
+ interface Repository {
670
+ allow_merge_commit?: boolean;
1346
671
  allow_rebase_merge?: boolean;
1347
- /** Разрешить squash слияние */
1348
672
  allow_squash_merge?: boolean;
1349
- /** Разрешить обновление веток */
1350
- allow_update_branch?: boolean;
1351
- /** Автоопределение ручных слияний */
1352
- autodetect_manual_merge?: boolean;
1353
- /** Разрешить мейнтейнерам редактировать по умолчанию */
1354
- default_allow_maintainer_edit?: boolean;
1355
- /** Стиль слияния по умолчанию */
1356
- default_merge_style?: string;
1357
- /** Удалять ветку после слияния */
673
+ archived?: boolean;
674
+ clone_url?: string;
675
+ contents_url?: string;
676
+ created_at?: string;
677
+ default_branch?: string;
1358
678
  delete_branch_on_merge?: boolean;
1359
- /** Домашняя страница проекта */
1360
- homepage?: string;
1361
- /** Игнорировать пробелы при сравнении */
1362
- ignore_whitespace?: boolean;
1363
- /** Является ли репозиторий шаблоном */
679
+ description?: string;
680
+ disabled?: boolean;
681
+ fork?: boolean;
682
+ forks?: number;
683
+ forks_count?: number;
684
+ forks_url?: string;
685
+ full_name?: string;
686
+ has_issues?: boolean;
687
+ has_wiki?: boolean;
688
+ id?: number;
1364
689
  is_template?: boolean;
690
+ issue_comment_url?: string;
691
+ issues_url?: string;
692
+ language?: string;
693
+ languages_url?: string;
694
+ mirror_url?: string;
695
+ name?: string;
696
+ open_issues?: number;
697
+ open_issues_count?: number;
698
+ owner?: UserPublicInfo;
699
+ parent?: Repository;
700
+ permissions?: Permissions;
701
+ private?: boolean;
702
+ pulls_url?: string;
703
+ pushed_at?: string;
704
+ size?: number;
705
+ ssh_url?: string;
706
+ stargazers_count?: number;
707
+ template_repository?: Repository;
708
+ topics?: string[];
709
+ updated_at?: string;
710
+ url?: string;
711
+ visibility?: string;
712
+ watchers?: number;
713
+ watchers_count?: number;
1365
714
  }
1366
- /**
1367
- * Интерфейс результата сравнения веток/коммитов
1368
- */
1369
- interface CompareResponse {
1370
- /** URL для сравнения */
1371
- url: string;
1372
- /** Веб-ссылка для сравнения */
1373
- html_url: string;
1374
- /** Базовый коммит */
1375
- base_commit: Commit;
1376
- /** Сравниваемый коммит */
1377
- merge_base_commit: Commit;
1378
- /** Статус сравнения */
1379
- status: "ahead" | "behind" | "identical" | "diverged";
1380
- /** Количество коммитов впереди */
1381
- ahead_by: number;
1382
- /** Количество коммитов позади */
1383
- behind_by: number;
1384
- /** Общее количество коммитов */
1385
- total_commits: number;
1386
- /** Список коммитов */
1387
- commits: Commit[];
1388
- /** Изменённые файлы */
1389
- files: CommitFile[];
1390
- }
1391
- /**
1392
- * Параметры для обновления pull request
1393
- */
1394
- interface UpdatePullRequestParams {
1395
- /** Новый заголовок */
1396
- title?: string;
1397
- /** Новое описание */
1398
- body?: string;
1399
- /** Новое состояние */
1400
- state?: PullRequestState;
1401
- /** Базовая ветка */
1402
- base?: string;
1403
- /** Можно ли мейнтейнерам модифицировать */
1404
- maintainer_can_modify?: boolean;
1405
- }
1406
- /**
1407
- * Интерфейс файла в pull request
1408
- */
1409
- interface PullRequestFile {
1410
- /** SHA-хеш файла */
1411
- sha: string;
1412
- /** Имя файла */
1413
- filename: string;
1414
- /** Статус изменения */
1415
- status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged";
1416
- /** Количество добавленных строк */
1417
- additions: number;
1418
- /** Количество удалённых строк */
1419
- deletions: number;
1420
- /** Общее количество изменений */
1421
- changes: number;
1422
- /** URL для получения содержимого */
1423
- blob_url: string;
1424
- /** Raw URL */
1425
- raw_url: string;
1426
- /** API URL */
1427
- contents_url: string;
1428
- /** Patch для файла */
1429
- patch?: string;
715
+ interface PRBranchInfo {
716
+ label?: string;
717
+ ref?: string;
718
+ repo?: Repository;
719
+ repo_id?: number;
720
+ sha?: string;
1430
721
  }
1431
- /**
1432
- * Интерфейс команды (team)
1433
- */
1434
- /**
1435
- * Краткая информация о репозитории (для вложенных объектов)
1436
- */
1437
- interface RepositoryMeta {
1438
- /** Идентификатор репозитория */
1439
- id: number;
1440
- /** Название репозитория */
1441
- name: string;
1442
- /** Полное название репозитория */
1443
- full_name: string;
722
+ interface PagesDeployment {
723
+ id?: number;
724
+ page_url?: string;
725
+ status_url?: string;
1444
726
  }
1445
- /**
1446
- * Краткая информация о pull request (для вложенных объектов в issue)
1447
- */
1448
- interface PullRequestMeta {
1449
- /** URL pull request */
1450
- url?: string;
1451
- /** Веб-ссылка на pull request */
1452
- html_url?: string;
1453
- /** Ссылка на diff */
1454
- diff_url?: string;
1455
- /** Ссылка на patch */
1456
- patch_url?: string;
1457
- /** Был ли PR смёрджен */
1458
- merged?: boolean;
1459
- /** Дата мёрджа */
1460
- merged_at?: string | null;
727
+ interface PagesDeploymentStatus {
728
+ status?: string;
1461
729
  }
1462
730
  interface Team {
1463
- /** Идентификатор команды */
1464
- id: number;
1465
- /** Название команды */
1466
- name: string;
731
+ /** Полномочия на создание репозиториев */
732
+ can_create_org_repo?: boolean;
1467
733
  /** Описание команды */
1468
734
  description?: string;
1469
- /** Права доступа */
1470
- permission: "pull" | "push" | "admin";
735
+ /** Идентификатор */
736
+ id?: number;
737
+ /** Включает все репозитории */
738
+ includes_all_repositories?: boolean;
739
+ /** Название команды */
740
+ name?: string;
1471
741
  /** Количество участников */
1472
742
  num_members?: number;
1473
743
  /** Количество репозиториев */
1474
744
  num_repos?: number;
1475
- /** Может создавать репозитории в организации */
1476
- can_create_org_repo?: boolean;
1477
- /** Включает все репозитории */
1478
- includes_all_repositories?: boolean;
1479
- /** Права на Actions */
745
+ /** Полномочия */
746
+ permission?: string;
747
+ /** Полномочие на действия с ветками */
1480
748
  permission_actions?: string;
1481
- /** Права на код */
749
+ /** Код полномочия */
1482
750
  permission_code?: string;
1483
- /** Права на packages */
751
+ /** Полномочие на пакеты */
1484
752
  permission_packages?: string;
1485
- /** Права на pull requests */
753
+ /** Полномочие на отправку пулл-реквестов */
1486
754
  permission_pulls?: string;
1487
- /** Права на релизы */
755
+ /** Полномочие на релизы */
1488
756
  permission_releases?: string;
1489
757
  }
1490
- /**
1491
- * Интерфейс приглашения в команду
1492
- */
1493
- interface Invitation {
1494
- /** Идентификатор приглашения */
1495
- id: number;
1496
- /** Приглашённый пользователь */
1497
- login: string;
1498
- /** Email приглашённого */
1499
- email?: string;
1500
- /** Роль */
1501
- role: string;
1502
- /** Дата создания */
1503
- created_at: string;
1504
- /** Приглашающий */
1505
- inviter: User2;
1506
- }
1507
- /**
1508
- * Интерфейс релиза
1509
- */
1510
- interface Release {
1511
- /** Идентификатор релиза */
1512
- id: number;
1513
- /** Тег релиза */
1514
- tag_name: string;
1515
- /** Целевой коммит */
1516
- target_commitish: string;
1517
- /** Название релиза */
1518
- name: string;
1519
- /** Описание релиза */
758
+ interface PullRequest {
759
+ assignee?: User;
760
+ assignees?: User[];
761
+ base?: PRBranchInfo;
1520
762
  body?: string;
1521
- /** Черновик ли релиз */
1522
- draft: boolean;
1523
- /** Пре-релиз ли */
1524
- prerelease: boolean;
1525
- /** Автор релиза */
1526
- author: User2;
1527
- /** Дата создания */
1528
- created_at: string;
1529
- /** Дата публикации */
1530
- published_at?: string;
1531
- /** Веб-ссылка */
1532
- html_url: string;
1533
- /** API-ссылка */
1534
- url: string;
1535
- /** Ссылка на архив tar.gz */
1536
- tarball_url: string;
1537
- /** Ссылка на архив zip */
1538
- zipball_url: string;
1539
- /** URL для загрузки ассетов */
1540
- upload_url?: string;
1541
- /** Список ассетов */
1542
- assets: Asset[];
763
+ closed_at?: string;
764
+ comments?: number;
765
+ created_at?: string;
766
+ diff_url?: string;
767
+ head?: PRBranchInfo;
768
+ html_url?: string;
769
+ id?: number;
770
+ is_draft?: boolean;
771
+ labels?: Label[];
772
+ locked?: boolean;
773
+ maintainer_can_modify?: boolean;
774
+ merge_commit_sha?: string;
775
+ mergeable?: boolean;
776
+ merged?: boolean;
777
+ merged_at?: string;
778
+ merged_by?: User;
779
+ milestone?: Milestone;
780
+ number?: number;
781
+ patch_url?: string;
782
+ requested_reviewers?: User[];
783
+ requested_teams?: Team[];
784
+ state?: string;
785
+ title?: string;
786
+ updated_at?: string;
787
+ url?: string;
788
+ user?: User;
1543
789
  }
1544
- /**
1545
- * Параметры для получения списка релизов
1546
- */
1547
- interface ListReleasesParams extends PaginationParams {
1548
- /** Фильтр по черновикам */
1549
- draft?: boolean;
1550
- /** Фильтр по пре-релизам */
1551
- pre_release?: boolean;
790
+ interface Reference {
791
+ object?: GitObject;
792
+ ref?: string;
793
+ url?: string;
1552
794
  }
1553
- /**
1554
- * Параметры для создания релиза
1555
- */
1556
- interface CreateReleaseParams {
1557
- /** Тег релиза */
1558
- tag_name: string;
1559
- /** Целевой коммит (по умолчанию основная ветка) */
1560
- target_commitish?: string;
1561
- /** Название релиза */
1562
- name?: string;
1563
- /** Описание релиза */
795
+ interface RegistrationToken {
796
+ token?: string;
797
+ }
798
+ interface Release {
799
+ assets?: Attachment[];
800
+ author?: User;
1564
801
  body?: string;
1565
- /** Черновик ли релиз */
802
+ created_at?: string;
1566
803
  draft?: boolean;
1567
- /** Пре-релиз ли */
804
+ html_url?: string;
805
+ id?: number;
806
+ name?: string;
1568
807
  prerelease?: boolean;
1569
- }
1570
- /**
1571
- * Параметры для обновления релиза
1572
- */
1573
- interface UpdateReleaseParams {
1574
- /** Тег релиза */
808
+ published_at?: string;
1575
809
  tag_name?: string;
1576
- /** Целевой коммит */
810
+ tarball_url?: string;
1577
811
  target_commitish?: string;
1578
- /** Название релиза */
1579
- name?: string;
1580
- /** Описание релиза */
1581
- body?: string;
1582
- /** Черновик ли релиз */
1583
- draft?: boolean;
1584
- /** Пре-релиз ли */
1585
- prerelease?: boolean;
1586
- }
1587
- /**
1588
- * Интерфейс ассета релиза
1589
- */
1590
- interface Asset {
1591
- /** Идентификатор ассета */
1592
- id: number;
1593
- /** UUID ассета */
1594
- uuid: string;
1595
- /** Название файла */
1596
- name: string;
1597
- /** Размер в байтах */
1598
- size: number;
1599
- /** Количество скачиваний */
1600
- download_count: number;
1601
- /** Дата создания */
1602
- created_at: string;
1603
- /** URL для скачивания */
1604
- browser_download_url: string;
1605
- }
1606
- /**
1607
- * Параметры для загрузки ассета
1608
- */
1609
- interface UploadAssetParams {
1610
- /** Название файла */
1611
- name: string;
1612
- /** Содержимое файла */
1613
- data: ArrayBuffer | Blob;
1614
- }
1615
- /**
1616
- * Интерфейс Git-ссылки (reference)
1617
- */
1618
- interface Reference {
1619
- /** Имя ссылки (например, refs/heads/main) */
1620
- ref: string;
1621
- /** API-ссылка */
1622
- url: string;
1623
- /** Объект, на который указывает ссылка */
1624
- object: {
1625
- type: string
1626
- sha: string
1627
- url: string
1628
- };
1629
- }
1630
- /**
1631
- * Параметры для создания Git-ссылки
1632
- */
1633
- interface CreateRefParams {
1634
- /** Имя ссылки (например, refs/heads/feature-branch) */
1635
- ref: string;
1636
- /** SHA-хеш коммита */
1637
- sha: string;
1638
- }
1639
- /**
1640
- * Интерфейс Git-дерева
1641
- */
1642
- interface Tree {
1643
- /** SHA-хеш дерева */
1644
- sha: string;
1645
- /** API-ссылка на дерево */
1646
- url: string;
1647
- /** Список записей в дереве */
1648
- tree: TreeEntry[];
1649
- /** Обрезано ли дерево */
1650
- truncated: boolean;
1651
- /** Номер страницы (для пагинации) */
1652
- page?: number;
1653
- /** Общее количество записей */
1654
- total_count?: number;
812
+ upload_url?: string;
813
+ url?: string;
814
+ zipball_url?: string;
1655
815
  }
1656
- /**
1657
- * Интерфейс записи в Git-дереве
1658
- */
1659
816
  interface TreeEntry {
1660
- /** Путь к файлу/директории */
1661
- path: string;
1662
- /** Режим доступа */
1663
- mode: string;
1664
- /** Тип объекта */
1665
- type: "blob" | "tree" | "commit";
1666
- /** SHA-хеш объекта */
1667
- sha: string;
1668
- /** Размер (для blob) */
817
+ mode?: string;
818
+ path?: string;
819
+ sha?: string;
1669
820
  size?: number;
1670
- /** URL объекта */
1671
- url?: string;
1672
- }
1673
- /**
1674
- * Параметры для создания Git-дерева
1675
- */
1676
- interface CreateTreeParams {
1677
- /** Список записей дерева */
1678
- tree: Array<{
1679
- path: string
1680
- mode: "100644" | "100755" | "040000" | "160000" | "120000"
1681
- type: "blob" | "tree" | "commit"
1682
- sha?: string
1683
- content?: string
1684
- }>;
1685
- /** SHA-хеш базового дерева */
1686
- base_tree?: string;
1687
- }
1688
- /**
1689
- * Параметры для получения Git-дерева
1690
- */
1691
- interface GetTreeParams extends PaginationParams {
1692
- /** Рекурсивное получение поддеревьев */
1693
- recursive?: boolean;
821
+ /** "blob", "tree", "commit" */
822
+ type?: string;
1694
823
  }
1695
- /**
1696
- * Интерфейс раннера GitHub Actions
1697
- */
1698
- interface Runner {
1699
- /** Идентификатор раннера */
1700
- id: number;
1701
- /** Название раннера */
1702
- name: string;
1703
- /** Статус раннера */
1704
- status: string;
1705
- /** Занят ли раннер */
1706
- busy: boolean;
1707
- /** Метки раннера */
1708
- labels: Array<{
1709
- id: number
1710
- name: string
1711
- type: string
1712
- }>;
824
+ interface RepoTree {
825
+ sha?: string;
826
+ tree?: TreeEntry[];
827
+ truncated?: boolean;
828
+ url?: string;
1713
829
  }
1714
- /**
1715
- * Интерфейс секрета GitHub Actions
1716
- */
1717
830
  interface Secret {
1718
- /** Название секрета */
1719
- name: string;
1720
- /** Дата создания */
1721
- created_at: string;
1722
- }
1723
- /**
1724
- * Параметры для получения workflow dispatch inputs
1725
- */
1726
- interface GetWorkflowDispatchParams {
1727
- /** Название ветки */
1728
- branch?: string;
1729
- /** Название тега */
1730
- tag?: string;
831
+ created_at?: string;
832
+ name?: string;
1731
833
  }
1732
- /**
1733
- * Входной параметр workflow dispatch
1734
- */
1735
- interface WorkflowDispatchInput {
1736
- /** Название параметра */
1737
- name: string;
1738
- /** Описание параметра */
1739
- description: string;
1740
- /** Тип параметра */
1741
- type: string;
1742
- /** Обязательный ли параметр */
1743
- required: boolean;
1744
- /** Значение по умолчанию */
1745
- default: string;
1746
- /** Доступные опции (для select) */
1747
- options: string[];
834
+ interface SecretList {
835
+ secrets?: Secret[];
836
+ total_count?: number;
1748
837
  }
1749
- /**
1750
- * Параметры для списка артефактов
1751
- */
1752
- interface ListArtifactsParams extends PaginationParams {
1753
- /** Фильтр по имени артефакта */
1754
- name?: string;
838
+ interface TrackedTime {
839
+ /** swagger:strfmt date-time */
840
+ created?: string;
841
+ id?: number;
842
+ issue?: Issue;
843
+ /** deprecated (only for backwards compatibility) */
844
+ issue_id?: number;
845
+ /** Time in seconds */
846
+ time?: number;
847
+ /** deprecated (only for backwards compatibility) */
848
+ user_id?: number;
849
+ user_name?: string;
1755
850
  }
1756
- /**
1757
- * Параметры для добавления репозитория в команду
1758
- */
1759
- interface AddTeamRepositoryParams {
1760
- /** Уровень доступа (read, write, admin) */
1761
- permission: string;
851
+ interface TimelineComment {
852
+ assignee?: User;
853
+ assignee_team?: Team;
854
+ body?: string;
855
+ /** swagger:strfmt date-time */
856
+ created_at?: string;
857
+ dependent_issue?: Issue;
858
+ html_url?: string;
859
+ id?: number;
860
+ issue_url?: string;
861
+ label?: Label;
862
+ milestone?: Milestone;
863
+ new_ref?: string;
864
+ new_title?: string;
865
+ old_milestone?: Milestone;
866
+ old_project_id?: number;
867
+ old_ref?: string;
868
+ old_title?: string;
869
+ project_id?: number;
870
+ pull_request_url?: string;
871
+ ref_action?: string;
872
+ ref_comment?: Comment;
873
+ /** commit SHA where issue/PR was referenced */
874
+ ref_commit_sha?: string;
875
+ ref_issue?: Issue;
876
+ /** whether the assignees were removed or added */
877
+ removed_assignee?: boolean;
878
+ resolve_doer?: User;
879
+ review_id?: number;
880
+ tracked_time?: TrackedTime;
881
+ type?: string;
882
+ /** swagger:strfmt date-time */
883
+ updated_at?: string;
884
+ user?: User;
1762
885
  }
1763
- /**
1764
- * Интерфейс переменной GitHub Actions
1765
- */
1766
- interface Variable {
1767
- /** Название переменной */
1768
- name: string;
1769
- /** Значение переменной */
1770
- value: string;
1771
- /** Дата создания */
1772
- created_at: string;
1773
- /** Дата обновления */
1774
- updated_at: string;
886
+ interface UpdateBranchResponse {
887
+ message?: string;
888
+ url?: string;
1775
889
  }
1776
- /**
1777
- * Параметры для создания переменной
1778
- */
1779
- interface CreateVariableParams {
1780
- /** Название переменной */
1781
- name: string;
1782
- /** Значение переменной */
1783
- value: string;
890
+ interface UserPrefsArray {
891
+ incomplete_results?: boolean;
892
+ items?: User[];
893
+ total_count?: number;
1784
894
  }
1785
- /**
1786
- * Параметры для обновления переменной
1787
- */
1788
- interface UpdateVariableParams {
1789
- /** Новое название (опционально) */
895
+ interface Variable {
896
+ created_at?: string;
1790
897
  name?: string;
1791
- /** Новое значение */
898
+ updated_at?: string;
1792
899
  value?: string;
1793
900
  }
1794
- /**
1795
- * Интерфейс артефакта GitHub Actions
1796
- */
1797
- interface Artifact {
1798
- /** Идентификатор артефакта */
1799
- id: number;
1800
- /** Название артефакта */
1801
- name: string;
1802
- /** Размер в байтах */
1803
- size_in_bytes: number;
1804
- /** API-ссылка */
1805
- url: string;
1806
- /** Ссылка на архив */
1807
- archive_download_url: string;
1808
- /** Истёк ли срок действия */
1809
- expired: boolean;
1810
- /** Дата создания */
1811
- created_at: string;
1812
- /** Дата истечения */
1813
- expires_at: string;
1814
- /** Дата обновления */
1815
- updated_at: string;
1816
- /** Информация о запуске workflow */
1817
- workflow_run?: {
1818
- id: number
1819
- repository_id: number
1820
- head_sha: string
1821
- };
901
+ interface VariableList {
902
+ total_count?: number;
903
+ variables?: Variable[];
1822
904
  }
1823
- /**
1824
- * Параметры для запуска workflow
1825
- */
1826
- interface DispatchWorkflowParams {
1827
- /** Название ветки (один из branch или tag обязателен) */
1828
- branch?: string;
1829
- /** Название тега (один из branch или tag обязателен) */
1830
- tag?: string;
1831
- /** Входные параметры для workflow (обязательный параметр) */
1832
- inputs: Record<string, string>;
905
+ interface WorkflowDispatchInput {
906
+ default?: string;
907
+ description?: string;
908
+ name?: string;
909
+ options?: string[];
910
+ required?: boolean;
911
+ type?: string;
912
+ }
913
+ interface WorkflowDispatchInputList {
914
+ inputs?: WorkflowDispatchInput[];
1833
915
  }
1834
- export { WorkflowDispatchInput, Variable, UserSearchResult, User2 as User, UploadAssetParams, UpdateVariableParams, UpdateRepositoryParams, UpdateReleaseParams, UpdatePullRequestParams, UpdateFileParams, UpdateBranchResponse, UpdateBranchParams, TreeEntry, Tree, TrackedTime, TimelineEvent, TimelineComment, Team, Secret, SearchUsersParams, Runner, RequestOptions, RepositoryMeta, Repository, RemoveEmailParams, Release, Reference, RateLimitInfo, PullRequestMeta, PullRequestFile, PullRequestBase, PullRequest, Permissions, PaginationParams, Milestone, ListStarsParams, ListReleasesParams, ListPullRequestsParams, ListIssuesParams, ListCommitsParams, ListCommentsParams, ListCollaboratorsParams, ListBranchesParams, ListArtifactsParams, LanguagesResponse, Label, Issue, Invitation, GetWorkflowDispatchParams, GetTreeParams, GetTimelineParams, GetPullFilesParams, GetPullCommitsParams, GetContentParams, FileDeletionResponse, FileCreationResponse, FileContent, Email, DispatchWorkflowParams, DirectoryContent, DeleteFileParams, CurrentUser, CreateVariableParams, CreateTreeParams, CreateRepositoryParams, CreateReleaseParams, CreateRefParams, CreatePullRequestParams, CreateForkParams, CreateFileParams, CreateCommitParams, Content, CompareResponse, CommitInfo, CommitFile, Commit, Comment, CollaboratorInvitation, Collaborator, Branch, Asset, Artifact, ApiVersionInfo, ApiResponseMetadata, ApiError, AddTeamRepositoryParams, AddEmailParams, AddCollaboratorParams };
916
+ export { WorkflowDispatchInputList, WorkflowDispatchInput, VariableList, Variable, UserPublicInfo, UserPrefsArray, User, UpdateRepositoryParams, UpdateReleaseParams, UpdatePullRequestParams, UpdateBranchResponse, UpdateBranchParams, TreeMeta, TreeItem, TreeEntry, TrackedTime, TimelineComment, TeamRepoPermissions, Team, SecretList, Secret, RequestOptions, RepositoryMeta, Repository, RepoTree, RepoPublicInfo, RepoCommit, Release, RegistrationToken, Reference, RateLimitInfo, PullRequestMeta, PullRequest, Permissions, PaginationParams, PagesDeploymentStatus, PagesDeployment, PRBranchInfo, Milestone, Label, Issue, GitTreeResponse, GitObject, GitEntry, FileLinksResponse, FileDeleteResponse, FileCreationResponse, FileCommitResponse, Email, DeleteFileParams, DeleteEmailParams, CreateVariableParams, CreateTreeParams, CreateRepositoryParams, CreateReleaseParams, CreateReferenceParams, CreatePullRequestParams, CreatePagesDeploymentParams, CreateForkParams, CreateFileParams, CreateEmailParams, CreateCommitParams, CreateActionLinkParams, ContentsResponse, CompareResponse, CommitVerification, CommitUserParams, CommitUser, CommitStats, CommitMeta, CommitFiles, Commit, Comment, CollaboratorInvitation, Collaborator, Branch, Attachment, ApiVersionInfo, ApiResponseMetadata, ApiError, AddCollaboratorParams, ActionWorkflowRun, ActionRunners, ActionRunnerLabel, ActionRunner, ActionLink, ActionArtifactList, ActionArtifact };