Skip to main content

API-интерфейсы и веб-перехватчики с накоплением запросов на вытягивание

Считывайте и управляйте запросами на вытягивание с накоплением программным образом с GitHub помощью API REST и GraphQL и веб-перехватчиков.

В этой статье

Примечание.

Эта функция доступна в публичном предварительном просмотре и может измениться.

GitHub ИНТЕРФЕЙСы API REST и GraphQL предоставляют запросы на вытягивание с накоплением. REST API поддерживает чтение и управление стеками, а API GraphQL поддерживает запросы только для чтения.

Используйте API для чтения членства в стеке запроса на вытягивание или создания собственных автоматизации и интеграции для запросов на вытягивание с накоплением.

REST API

REST API предоставляет запросы на вытягивание с накоплением двумя способами:

  • stack Объект для ресурсов запроса на вытягивание. Когда запрос на вытягивание принадлежит стеку, его ресурс REST включает stack объект. Это позволяет считывать членство в стеке запроса на вытягивание, включая количество и размер стека, а также положение запроса на вытягивание и базу непосредственно из запроса на вытягивание.
  • API Stacks. Выделенный набор конечных точек для перечисления, чтения, создания, расширения и растворения стека. Это поверхность для создания и изменения стеков.

Сведения о конечных точках, параметрах и схемах см. в разделе Конечные точки REST API для запросов на вытягивание.

Внимание

Если вы объединяетесь с помощью API и хотите использовать стекированные запросы на вытягивание, необходимо использовать новый api асинхронного слияния.

API слияния

При слиянии запроса на вытягивание с накоплением через API необходимо использовать конечную точку асинхронного слияния.

Стек нельзя объединить с устаревшими синхронными конечными точками слияния или изменениями. При слиянии запроса на вытягивание с накоплением каждый запрос на вытягивание в стеке и в том числе один из запросов объединяется или помещается в очередь для объединения в базовую ветвь. Слияние стека запросов на вытягивание может включать несколько запросов на вытягивание, которые могут занять несколько минут. Из-за этого слияние выполняется в фоновом режиме при отправке запроса на слияние, а затем можно пропросить результат.

При отправке открытого PR проверяется только базовое состояние запроса на вытягивание. Правила защиты ветви и репозитория оцениваются позже, когда слияние фактически выполняется, и при опросе сообщается сбой правила. Запрос на слияние стека является атомарным, то есть либо вся группа запросов на вытягивание, либо добавляется в очередь слияния, либо ни один из них не является.

Дополнительные сведения см. в разделе Конечные точки REST API для запросов на вытягивание.

GraphQL API

API GraphQL предоставляет членство в стеке запроса на вытягивание через доступ только для stack чтения и stackEntry поля в типе PullRequest . Используйте эти поля для запроса стека запроса на вытягивание, к которому принадлежит запрос на вытягивание, и его положение в нем.

API GraphQL доступен только для чтения для стеков; Изменения стека отсутствуют. Чтобы создать или изменить стеки, используйте REST API.

Поля, объекты и схемы см. в разделе Запросы на слияние.

Webhooks

Когда запрос на вытягивание принадлежит стеку, GitHub добавляет stack свойство в pull_request полезные данные события веб-перехватчика. Это позволяет приложениям и интеграции проверять целевую ветвь стека, а не только прямую родительскую ветвь запроса на вытягивание.

Объект stack включен в полезные pull_request данные веб-перехватчика для событий жизненного цикла запроса на вытягивание, которые происходят, пока запрос на вытягивание является частью стека.

См . раздел AUTOTITLE.

Дополнительные материалы