/
nekstep
/
gvcli
Обзор
Документация
Войти
/
nekstep
/
gvcli
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
docs-html/index.html
146 строк
39 KB
Oleg Chirukhin
first commit
17 июл 2025, 21:05
17 июл 2025, 21:05
b710f66
Код
Авторство
О чём код?
<article class="nx-w-full nx-break-words nextra-content nx-flex nx-min-h-[calc(100vh-var(--nextra-navbar-height))] nx-min-w-0 nx-justify-center nx-pb-8 nx-pr-[calc(env(safe-area-inset-right)-1.5rem)]"><main class="nx-w-full nx-min-w-0 nx-max-w-6xl nx-px-6 nx-pt-4 md:nx-px-12"><div class="nextra-breadcrumb nx-mt-1.5 nx-flex nx-items-center nx-gap-1 nx-overflow-hidden nx-text-sm nx-text-gray-500 dark:nx-text-gray-400 contrast-more:nx-text-current"><div class="nx-whitespace-nowrap nx-transition-colors nx-font-medium nx-text-gray-700 contrast-more:nx-font-bold contrast-more:nx-text-current dark:nx-text-gray-100 contrast-more:dark:nx-text-current" title="Публичный API">Публичный API</div></div><h1 class="nx-mt-2 nx-text-4xl nx-font-bold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100">Публичный API<div class="px-1.5 py-0.5 ml-1.5 px-2 inline-block mb-0.5 items-center align-middle border-none whitespace-nowrap rounded-full text-small tracking-[0.00625rem] bg-gn-55 text-white">Beta</div></h1> <div class="nextra-callout nx-overflow-x-auto nx-mt-6 nx-flex nx-rounded-lg nx-border nx-py-2 ltr:nx-pr-4 rtl:nx-pl-4 contrast-more:nx-border-current contrast-more:dark:nx-border-current nx-border-yellow-100 nx-bg-yellow-50 nx-text-yellow-900 dark:nx-border-yellow-200/30 dark:nx-bg-yellow-700/30 dark:nx-text-yellow-200"><div class="nx-select-none nx-text-xl ltr:nx-pl-3 ltr:nx-pr-2 rtl:nx-pr-3 rtl:nx-pl-2" style='font-family:"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"'>⚠️</div><div class="nx-w-full nx-min-w-0 nx-leading-7"><span class="text-black text-[15px]">Ограниченный доступ</span></div></div> <h2 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-10 nx-border-b nx-pb-1 nx-text-3xl nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400">Общая информация<a aria-label="Permalink for this section" class="subheading-anchor" href="#общая-информация" id="общая-информация"></a></h2> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0">Публичный API можно использовать для создания скриптов и приложений, которые автоматизируют процессы, интегрируются с Gitverse, а также расширяют функциональность Gitverse.</p> <h2 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-10 nx-border-b nx-pb-1 nx-text-3xl nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400">Начало работы с публичным API<a aria-label="Permalink for this section" class="subheading-anchor" href="#начало-работы-с-публичным-api" id="начало-работы-с-публичным-api"></a></h2> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0">Интеграция с публичным API — это первый шаг к автоматизации, расширению возможностей и построению собственных решений на основе функционала GitVerse. В этом руководстве вы узнаете, как получить доступ к API, авторизоваться, выполнить первый запрос и начать работать с репозиториями, настройками и другими сущностями. Мы покажем всё максимально просто и пошагово — чтобы вы могли сосредоточиться на разработке, а не на настройке.</p> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0">Для начала работы вам потребуется настроить токен аутентификации для этого перейдите в раздел <a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="https://gitverse.ru/settings/tokens" rel="noreferrer" target="_blank">Управления токенами<span class="nx-sr-only nx-select-none"> (opens in a new tab)</span></a>. Создайте токен с отмеченным чекбоксом <strong>Публичное API</strong> и сразу сохраните его, т.к. после того, как вы покинете страницу он перестанет быть доступен. После этого вы можете взаимодействовать с публичным API, используя токен в качестве параметра HTTP-заголовка <code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">Authorization</code>.</p> <div class="nextra-code-block nx-relative nx-mt-6 first:nx-mt-0"><pre class="nx-bg-primary-700/5 nx-mb-4 nx-overflow-x-auto nx-rounded-xl nx-subpixel-antialiased dark:nx-bg-primary-300/10 nx-text-[.9em] contrast-more:nx-border contrast-more:nx-border-primary-900/20 contrast-more:nx-contrast-150 contrast-more:dark:nx-border-primary-100/40 nx-py-4" data-language="bash" data-theme="default"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" data-language="bash" data-theme="default" dir="ltr"><span class="line"><span style="color:var(--shiki-token-function)">Authorization:</span><span style="color:var(--shiki-color-text)"> </span><span style="color:var(--shiki-token-string)">Bearer</span><span style="color:var(--shiki-color-text)"> </span><span style="color:var(--shiki-token-string)">YOUR_TOKEN</span><span style="color:var(--shiki-color-text)"> </span></span></code></pre><div class="nx-opacity-0 nx-transition [div:hover>&]:nx-opacity-100 focus-within:nx-opacity-100 nx-flex nx-gap-1 nx-absolute nx-m-[11px] nx-right-0 nx-top-0"><button class="nextra-button nx-transition-all active:nx-opacity-50 nx-bg-primary-700/5 nx-border nx-border-black/5 nx-text-gray-600 hover:nx-text-gray-900 nx-rounded-md nx-p-1.5 dark:nx-bg-primary-300/10 dark:nx-border-white/10 dark:nx-text-gray-400 dark:hover:nx-text-gray-50 md:nx-hidden" title="Toggle word wrap"><svg class="nx-pointer-events-none nx-h-4 nx-w-4" height="24" viewbox="0 0 24 24" width="24"><path d="M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z" fill="currentColor"></path></svg></button><button class="nextra-button nx-transition-all active:nx-opacity-50 nx-bg-primary-700/5 nx-border nx-border-black/5 nx-text-gray-600 hover:nx-text-gray-900 nx-rounded-md nx-p-1.5 dark:nx-bg-primary-300/10 dark:nx-border-white/10 dark:nx-text-gray-400 dark:hover:nx-text-gray-50" tabindex="0" title="Copy code"><svg class="nextra-copy-icon nx-pointer-events-none nx-h-4 nx-w-4" fill="none" height="24" stroke="currentColor" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><rect height="13" rx="2" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" width="13" x="9" y="9"></rect><path d="M5 15H4C2.89543 15 2 14.1046 2 13V4C2 2.89543 2.89543 2 4 2H13C14.1046 2 15 2.89543 15 4V5" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"></path></svg></button></div></div> <h2 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-10 nx-border-b nx-pb-1 nx-text-3xl nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400">HTTP Заголовки<a aria-label="Permalink for this section" class="subheading-anchor" href="#http-заголовки" id="http-заголовки"></a></h2> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0">При работе с Public API GitVerse необходимо указывать обязательные HTTP-заголовки, чтобы сервер мог корректно обработать ваш запрос.</p> <h3 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-8 nx-text-2xl"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">Authorization: Bearer YOUR_TOKEN</code><a aria-label="Permalink for this section" class="subheading-anchor" href="#authorization-bearer-your_token" id="authorization-bearer-your_token"></a></h3> <ol class="nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"> <li class="nx-my-2"><strong>Обязательный заголовок</strong>.</li> <li class="nx-my-2">Используется для аутентификации.</li> <li class="nx-my-2">Вместо <code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">YOUR_TOKEN</code> подставляется токен, полученный в настройках профиля.</li> </ol> <blockquote class="nx-mt-6 nx-border-gray-300 nx-italic nx-text-gray-700 dark:nx-border-gray-700 dark:nx-text-gray-400 first:nx-mt-0 ltr:nx-border-l-2 ltr:nx-pl-6 rtl:nx-border-r-2 rtl:nx-pr-6"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0">⚠️ Токен необходимо хранить в безопасном месте и не передавать его случайным образом. Он предоставляет доступ к вашему аккаунту GitVerse через API.</p> </blockquote> <h3 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-8 nx-text-2xl"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">Accept: application/vnd.gitverse.object+json;version=1</code><a aria-label="Permalink for this section" class="subheading-anchor" href="#accept-applicationvndgitverseobjectjsonversion1" id="accept-applicationvndgitverseobjectjsonversion1"></a></h3> <ol class="nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"> <li class="nx-my-2"><strong>Обязательный заголовок</strong>.</li> <li class="nx-my-2">Указывает, что клиент ожидает JSON-ответ в формате, совместимом с GitVerse Public API.</li> <li class="nx-my-2">Позволяет серверу правильно определить версию ответа.</li> </ol> <blockquote class="nx-mt-6 nx-border-gray-300 nx-italic nx-text-gray-700 dark:nx-border-gray-700 dark:nx-text-gray-400 first:nx-mt-0 ltr:nx-border-l-2 ltr:nx-pl-6 rtl:nx-border-r-2 rtl:nx-pr-6"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0">📌 Мы используем кастомный MIME-тип <code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">application/vnd.gitverse+json</code>, чтобы явно отделить ответы API от стандартных JSON-запросов. Это помогает избежать несовместимости при изменении формата данных.</p> </blockquote> <h2 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-10 nx-border-b nx-pb-1 nx-text-3xl nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400">HTTP Методы<a aria-label="Permalink for this section" class="subheading-anchor" href="#http-методы" id="http-методы"></a></h2> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0">HTTP-метод эндпоинта определяет тип действия, которое он выполняет над указанным ресурсом. Некоторые из наиболее распространённых HTTP-методов: <code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">GET</code>, <code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">POST</code>, <code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">DELETE</code>, <code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">PATCH</code> и <code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">PUT</code>. В документации к REST API для каждого эндпоинта указан используемый HTTP-метод.</p> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0">Например, для эндпоинта «Список задач репозитория» используется метод <code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">GET</code>.</p> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0">В своих API мы стремимся использовать подходящие HTTP-методы для каждого действия — так же, как это делает GitHub REST API.</p> <h3 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-8 nx-text-2xl">Поддерживаемые HTTP-методы и их назначение:<a aria-label="Permalink for this section" class="subheading-anchor" href="#поддерживаемые-http-методы-и-их-назначение" id="поддерживаемые-http-методы-и-их-назначение"></a></h3> <table class="nx-block nx-overflow-x-scroll nextra-scrollbar nx-mt-6 nx-p-0 first:nx-mt-0"><thead><tr class="nx-m-0 nx-border-t nx-border-gray-300 nx-p-0 dark:nx-border-gray-600 even:nx-bg-gray-100 even:dark:nx-bg-gray-600/20"><th class="nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 nx-font-semibold dark:nx-border-gray-600">Метод</th><th class="nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 nx-font-semibold dark:nx-border-gray-600">Описание</th></tr></thead><tbody><tr class="nx-m-0 nx-border-t nx-border-gray-300 nx-p-0 dark:nx-border-gray-600 even:nx-bg-gray-100 even:dark:nx-bg-gray-600/20"><td class="nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">GET</code></td><td class="nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600">Используется для <u>получения данных</u> о ресурсах.</td></tr><tr class="nx-m-0 nx-border-t nx-border-gray-300 nx-p-0 dark:nx-border-gray-600 even:nx-bg-gray-100 even:dark:nx-bg-gray-600/20"><td class="nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">POST</code></td><td class="nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600">Используется для <u>создания новых ресурсов</u>.</td></tr><tr class="nx-m-0 nx-border-t nx-border-gray-300 nx-p-0 dark:nx-border-gray-600 even:nx-bg-gray-100 even:dark:nx-bg-gray-600/20"><td class="nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">PATCH</code></td><td class="nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600">Используется для <u>частичного обновления свойств ресурса</u>.</td></tr><tr class="nx-m-0 nx-border-t nx-border-gray-300 nx-p-0 dark:nx-border-gray-600 even:nx-bg-gray-100 even:dark:nx-bg-gray-600/20"><td class="nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">PUT</code></td><td class="nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600">Используется для <u>полного замещения ресурса или коллекции ресурсов</u>.</td></tr><tr class="nx-m-0 nx-border-t nx-border-gray-300 nx-p-0 dark:nx-border-gray-600 even:nx-bg-gray-100 even:dark:nx-bg-gray-600/20"><td class="nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">DELETE</code></td><td class="nx-m-0 nx-border nx-border-gray-300 nx-px-4 nx-py-2 dark:nx-border-gray-600">Используется для <u>удаления ресурсов</u>.</td></tr></tbody></table> <h2 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-10 nx-border-b nx-pb-1 nx-text-3xl nx-border-neutral-200/70 contrast-more:nx-border-neutral-400 dark:nx-border-primary-100/10 contrast-more:dark:nx-border-neutral-400">Список разделов<a aria-label="Permalink for this section" class="subheading-anchor" href="#список-разделов" id="список-разделов"></a></h2> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0">Настоящий подраздел документации предоставляет обзор всех доступных методов API GitVerse, сгруппированных по функциональности.</p> <h3 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-8 nx-text-2xl"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/user-management/">Пользователи</a><a aria-label="Permalink for this section" class="subheading-anchor" href="#пользователи" id="пользователи"></a></h3> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0">Этот раздел API позволяет управлять данными аутентифицированного пользователя.</p> <h4 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-8 nx-text-xl">Получение информации о пользователе<a aria-label="Permalink for this section" class="subheading-anchor" href="#получение-информации-о-пользователе" id="получение-информации-о-пользователе"></a></h4> <ol class="nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/user-management/api-get-user/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">GET /user</code></a> Возвращает информацию о текущем аутентифицированном пользователе.</p> </li> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/user-management/api-get-user-by-login/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">GET /users/{username}</code></a> Позволяет получить информацию о любом пользователе по его логину.</p> </li> </ol> <h4 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-8 nx-text-xl">Работа с email-адресами<a aria-label="Permalink for this section" class="subheading-anchor" href="#работа-с-email-адресами" id="работа-с-email-адресами"></a></h4> <ol class="nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6" start="3"> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/user-management/api-get-user-emails/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">GET /user/emails</code></a> Возвращает список email-адресов текущего пользователя.</p> </li> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/user-management/api-post-user-emails/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">POST /user/emails</code></a> Добавляет один или несколько новых email-адресов текущему пользователю.</p> </li> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/user-management/api-delete-user-emails/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">DELETE /user/emails</code></a> Удаляет указанные email-адреса.</p> </li> </ol> <h4 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-8 nx-text-xl">Получение списка репозиториев<a aria-label="Permalink for this section" class="subheading-anchor" href="#получение-списка-репозиториев" id="получение-списка-репозиториев"></a></h4> <ol class="nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6" start="6"> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/user-management/api-get-user-repos/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">GET /user/repos</code></a> Возвращает все репозитории, доступные пользователю (личные и организации).</p> </li> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/user-management/api-post-user-repos/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">POST /user/repos</code></a> Создаёт новый репозиторий для пользователя.</p> </li> </ol> <h3 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-8 nx-text-2xl"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/repositories/">Репозитории</a><a aria-label="Permalink for this section" class="subheading-anchor" href="#репозитории" id="репозитории"></a></h3> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0">Этот раздел API позволяет работать с репозиториями GitVerse.</p> <h4 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-8 nx-text-xl">Получение информации о репозитории<a aria-label="Permalink for this section" class="subheading-anchor" href="#получение-информации-о-репозитории" id="получение-информации-о-репозитории"></a></h4> <ol class="nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"> <li class="nx-my-2"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/repositories/api-get-repo-info/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">GET /repos/{owner}/{repo}</code></a> Возвращает основные данные о репозитории: название, владельца, настройки, права пользователя и т.д.</li> </ol> <h4 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-8 nx-text-xl">Управление содержимым<a aria-label="Permalink for this section" class="subheading-anchor" href="#управление-содержимым" id="управление-содержимым"></a></h4> <ol class="nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6" start="2"> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/repositories/api-get-repo-contents/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">GET /repos/{owner}/{repo}/contents/{path}</code></a> Позволяет получить содержимое файла (в Base64) или список файлов внутри папки.</p> </li> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/repositories/api-create-update-file/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">PUT /repos/{owner}/{repo}/contents/{filename}</code></a> Создаёт новый файл или обновляет существующий в указанной ветке.</p> </li> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/repositories/api-delete-file/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">DELETE /repos/{owner}/{repo}/contents/{filename}</code></a> Удаляет указанный файл из репозитория.</p> </li> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/repositories/api-get-git-tree/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">GET /repos/{owner}/{repo}/git/trees/{tree_sha}</code></a><a class="px-1.5 py-0.5 px-2 inline-flex items-center justify-center border-none rounded-full text-small tracking-[0.00625rem] bg-bl-65 text-white align-top mt-1 text-[17px] ml-2">New</a> Возвращает структуру файлов и папок, связанную с указанным деревом Git.</p> </li> </ol> <h4 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-8 nx-text-xl">Работа с Pull Request'ами<a aria-label="Permalink for this section" class="subheading-anchor" href="#работа-с-pull-requestами" id="работа-с-pull-requestами"></a></h4> <ol class="nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6" start="6"> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/repositories/api-get-branches/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">GET /repos/{owner}/{repo}/branches</code></a><a class="px-1.5 py-0.5 px-2 inline-flex items-center justify-center border-none rounded-full text-small tracking-[0.00625rem] bg-bl-65 text-white align-top mt-1 text-[17px] ml-2">New</a> Возвращает список всех веток репозитория с информацией о последнем коммите и защите веток.</p> </li> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/repositories/api-create-pull-request/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">POST /repos/{owner}/{repo}/pulls</code></a> Создаёт новый запрос на слияние из указанной ветки в целевую.</p> </li> </ol> <h4 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-8 nx-text-xl">Дополнительные методы<a aria-label="Permalink for this section" class="subheading-anchor" href="#дополнительные-методы" id="дополнительные-методы"></a></h4> <ol class="nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6" start="8"> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/repositories/api-get-issues/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">GET /repos/{owner}/{repo}/issues</code></a> Возвращает список задач (issues) репозитория. На данный момент содержит только запросы на слияние (Pull Requests).</p> </li> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/repositories/api-get-languages/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">GET /repos/{owner}/{repo}/languages</code></a> Возвращает список языков, используемых в репозитории, с указанием количества строк кода на каждом.</p> </li> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/repositories/api-create-fork/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">POST /repos/{owner}/{repo}/forks</code></a> Создаёт форк репозитория для текущего пользователя.</p> </li> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/repositories/api-update-collaborator-permissions/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">PUT /repos/{owner}/{repo}/collaborators/{username}</code></a><a class="px-1.5 py-0.5 px-2 inline-flex items-center justify-center border-none rounded-full text-small tracking-[0.00625rem] bg-bl-65 text-white align-top mt-1 text-[17px] ml-2">New</a> Добавляет пользователя как соавтора репозитория или обновляет его уровень доступа.</p> </li> </ol> <h3 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-8 nx-text-2xl"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/stars/">Звезды</a><a aria-label="Permalink for this section" class="subheading-anchor" href="#звезды" id="звезды"></a></h3> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0">Этот раздел API позволяет отмечать репозитории как избранные, а также проверять, добавлен ли репозиторий в список звёзд у текущего пользователя.</p> <h4 class="nx-font-semibold nx-tracking-tight nx-text-slate-900 dark:nx-text-slate-100 nx-mt-8 nx-text-xl">Управление избранными репозиториями<a aria-label="Permalink for this section" class="subheading-anchor" href="#управление-избранными-репозиториями" id="управление-избранными-репозиториями"></a></h4> <ol class="nx-mt-6 nx-list-decimal first:nx-mt-0 ltr:nx-ml-6 rtl:nx-mr-6"> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/stars/api-add-star/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">PUT /user/starred/{owner}/{repo}</code></a> Добавляет указанный репозиторий в список отслеживаемых пользователем («ставит звезду»).</p> </li> <li class="nx-my-2"> <p class="nx-mt-6 nx-leading-7 first:nx-mt-0"><a class="nx-text-primary-600 nx-underline nx-decoration-from-font [text-underline-position:from-font]" href="/docs/public-api/stars/api-check-star/"><code class="nx-border-black nx-border-opacity-[0.04] nx-bg-opacity-[0.03] nx-bg-black nx-break-words nx-rounded-md nx-border nx-py-0.5 nx-px-[.25em] nx-text-[.9em] dark:nx-border-white/10 dark:nx-bg-white/10" dir="ltr">GET /user/starred/{owner}/{repo}</code></a> Позволяет проверить, добавлен ли указанный репозиторий в список отслеживаемых у текущего пользователя.</p> </li> </ol><div class="nx-mt-16"></div><div class="nx-mb-8 nx-flex nx-items-center nx-border-t nx-pt-8 dark:nx-border-neutral-800 contrast-more:nx-border-neutral-400 dark:contrast-more:nx-border-neutral-400 print:nx-hidden"><a class="nx-flex nx-max-w-[50%] nx-items-center nx-gap-1 nx-py-4 nx-text-base nx-font-medium nx-text-gray-600 nx-transition-colors [word-break:break-word] hover:nx-text-primary-600 dark:nx-text-gray-300 md:nx-text-lg ltr:nx-pr-4 rtl:nx-pl-4" href="/docs/ai-assistant-gigacode/faq/" title="Частые вопросы (FAQ)"><svg class="nx-inline nx-h-5 nx-shrink-0 ltr:nx-rotate-180" fill="none" stroke="currentColor" viewbox="0 0 24 24"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"></path></svg>Частые вопросы (FAQ)</a><a class="nx-flex nx-max-w-[50%] nx-items-center nx-gap-1 nx-py-4 nx-text-base nx-font-medium nx-text-gray-600 nx-transition-colors [word-break:break-word] hover:nx-text-primary-600 dark:nx-text-gray-300 md:nx-text-lg ltr:nx-ml-auto ltr:nx-pl-4 ltr:nx-text-right rtl:nx-mr-auto rtl:nx-pr-4 rtl:nx-text-left" href="/docs/public-api/user-management/" title="Пользователи">Пользователи<svg class="nx-inline nx-h-5 nx-shrink-0 rtl:nx-rotate-180" fill="none" stroke="currentColor" viewbox="0 0 24 24"><path d="M9 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"></path></svg></a></div></main></article>