Skip to main content

Utilisation de Copilot agent cloud via l’API

Vous pouvez démarrer et gérer des Agent cloud Copilot tâches par programmation à l’aide de l’API REST.

Qui peut utiliser cette fonctionnalité ?

Organisations et entreprises disposant d’un plan Copilot Business ou Copilot Entreprise.

Remarque

L'API des tâches de l'agent est en développement préversion publique et susceptible d'être modifiée.

Vous pouvez utiliser l’API tâches de l’agent pour l’intégrer agent de cloud à vos propres outils et flux de travail. Par exemple, vous pouvez démarrer une nouvelle tâche, répertorier les tâches existantes ou vérifier l’état d’une tâche.

Pour obtenir la référence complète de l’API, consultez Points de terminaison d’API REST pour les tâches de l’agent.

Authentification

L’API tâches de l’agent prend uniquement en charge les jetons utilisateur-à-serveur. Vous pouvez vous authentifier à l’aide d’un personal access token, d’un jeton OAuth app ou d’un jeton utilisateur à serveur GitHub App.

Les jetons serveur à serveur, tels que GitHub App les jetons d’accès d’installation, ne sont pas pris en charge.

Démarrage d’une tâche via l’API

Pour démarrer une nouvelle agent de cloud tâche, envoyez une POST demande à /agents/repos/{owner}/{repo}/tasks. Le seul paramètre requis est prompt, qui est l’invite de l’agent.

Shell
curl -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  -H "Authorization: Bearer YOUR-TOKEN" \
  https://api.github.com/agents/repos/OWNER/REPO/tasks \
  -d '{
    "prompt": "Fix the login button on the homepage",
    "base_ref": "main"
  }'

Remplacez les valeurs d’espace réservé suivantes :

  • YOUR-TOKEN: Un jeton utilisateur-à-serveur personal access token ou GitHub App.
  • OWNER: Le propriétaire du compte du dépôt.
  • REPO: nom du référentiel.

Vous pouvez également inclure les paramètres facultatifs suivants dans le corps de la requête :

  • base_ref: branche de base pour la nouvelle branche et la requête de tirage.
  • model: modèle IA à utiliser pour la tâche. Si elle est omise, sélection automatique de modèle est utilisé. Pour plus d’informations sur les modèles pris en charge, consultez Points de terminaison d’API REST pour les tâches de l’agent.
  • create_pull_request: Un booléen indiquant s'il convient de créer un pull request pour la tâche.

Liste des tâches

Vous pouvez répertorier les tâches d’un référentiel spécifique ou de tous les référentiels auxquels vous avez accès.

Pour répertorier les tâches d’un référentiel spécifique :

Shell
curl -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  -H "Authorization: Bearer YOUR-TOKEN" \
  https://api.github.com/agents/repos/OWNER/REPO/tasks

Pour répertorier vos tâches dans tous les référentiels :

Shell
curl -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  -H "Authorization: Bearer YOUR-TOKEN" \
  https://api.github.com/agents/tasks

Vérification de l’état d’une tâche

Pour vérifier l’état d’une tâche spécifique, envoyez une GET demande avec l’ID de tâche :

Shell
curl -H "Accept: application/vnd.github+json" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  -H "Authorization: Bearer YOUR-TOKEN" \
  https://api.github.com/agents/repos/OWNER/REPO/tasks/TASK-ID

Remplacez TASK-ID par l’ID de la tâche que vous souhaitez vérifier. Vous pouvez obtenir cet ID à partir de la réponse lorsque vous créez une tâche ou une liste de tâches. La réponse inclut l’actuel statede la tâche, qui peut être l’un des suivants : queued, , in_progress``completed, failed, idle, , waiting_for_user, , timed_out, ou cancelled.

Lectures complémentaires