Skip to main content

Проверка подлинности между серверами

Используйте маркер доступа к установке с коротким сроком действия, когда служба должна выполнять Copilot запросы от имени организации без учетных данных пользователя. В GitHub Actions используйте встроеннуюGITHUB_TOKEN.

GitHub Actions

Для рабочих процессов в репозитории, принадлежащем организации, предоставьте встроенному маркеру разрешение на выполнение Copilot запросов:

permissions:
  contents: read
  copilot-requests: write

jobs:
  copilot:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - run: your-application
        env:
          GITHUB_TOKEN: $

Необходимо включить использование Copilot CLI, выставленной в политику организации. Этот подход не требует GitHub приложения или сохраненного секрета проверки подлинности. Дополнительные сведения см. в разделе Использование Copilot CLI в GitHub Actions с GITHUB_TOKEN.

Другие службы и системы CI

Для служб за пределами GitHub Actions:

  1. Создайте приложение GitHub с разрешением репозитория запросов Copilot для чтения и записи.

  2. Установите его в организации, которая должна быть выставлена счета. Для текущей проверки разрешений Copilot требуется доступ ко всем репозиториям.

  3. Генерация токена доступа для установки приложения GitHub с идентификатором репозитория и разрешением Copilot:

    {
      "repository_ids": [123456789],
      "permissions": {
        "copilot_requests": "write"
      }
    }
    
  4. Передайте полученный ghs_ маркер в среду выполнения в качестве COPILOT_GITHUB_TOKEN.

Организация должна быть включена для Copilot запросов из GitHub установки приложений. Срок действия маркеров установки истекает через один час.

Предупреждение

Не передайте маркер установки через параметр пакета SDK gitHubToken``github_tokenили эквивалентный параметр. Этот параметр предназначен для маркеров пользователей. Маркеры установки должны использовать путь проверки подлинности среды выполнения.

Настройка среды выполнения

В следующих примерах предполагается, что токен монетного двора находится в INSTALLATION_TOKEN. Они передают его только дочерней среде выполнения и отключают резервные копии для сохраненных учетных данных пользователя.

Языки кода navigation

TypeScript
import { CopilotClient, RuntimeConnection } from "@github/copilot-sdk";

const token = process.env.INSTALLATION_TOKEN;
if (!token) throw new Error("INSTALLATION_TOKEN is required");

const client = new CopilotClient({
    connection: RuntimeConnection.forStdio(),
    env: {
        ...process.env,
        COPILOT_GITHUB_TOKEN: token,
    },
    useLoggedInUser: false,
});

Для встроенного FFI установите COPILOT_GITHUB_TOKEN в среде узла перед загрузкой среды выполнения. Параметры среды для каждого клиента не поддерживаются. Для существующего URI среды выполнения задайте его в этом процессе выполнения.

токены обновления

Помите новый маркер установки до истечения срока действия текущего маркера. Для дочернего процесса перезапустите клиент ПАКЕТА SDK с новой средой. Для внутрипроцессной или существующей среды выполнения перезапустите среду выполнения узла с новым маркером.

Billing

Использование присваивается и выставляется счет учетной записи, которая владеет установкой GitHub приложения. Использование установки организации для выставления счетов организации; Атрибуты установки учетной записи пользователя для этого пользователя.

Troubleshooting

СимптомПроверьте
401 UnauthorizedУбедитесь, что организация поддерживает проверку подлинности GitHub установки приложений для Copilot.
403 Resource not accessible by integration или ошибка с указанием сведений о пользователеУбедитесь, что маркер установки включен COPILOT_GITHUB_TOKEN, а не параметр явного маркера пакета SDK.
403 Forbiddenиз API CopilotУбедитесь, что запрос маркера repository_ids содержит и copilot_requests: write.
403 Forbidden с требуемым запросом маркераУбедитесь, что установка приложения имеет доступ ко всем репозиториям , а затем помят новый маркер.
Запрошенная модель недоступнаУбедитесь, что политика Copilot организации позволяет модели и пакетной среде выполнения поддерживать ее.
Счета за неправильную учетную записьУбедитесь, что установка принадлежит предполагаемой организации.

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