{"meta":{"title":"Utilisation de Copilot agent cloud via l’API","intro":"Vous pouvez démarrer et gérer des Copilot cloud agent tâches par programmation à l’aide de l’API REST.","product":"GitHub Copilot","breadcrumbs":[{"href":"/fr/copilot","title":"GitHub Copilot"},{"href":"/fr/copilot/how-tos","title":"Procédures"},{"href":"/fr/copilot/how-tos/use-copilot-agents","title":"Utiliser des agents Copilot"},{"href":"/fr/copilot/how-tos/use-copilot-agents/cloud-agent","title":"Cloud agent"},{"href":"/fr/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-via-the-api","title":"Utiliser l’agent cloud via l’API"}],"documentType":"article"},"body":"# Utilisation de Copilot agent cloud via l’API\n\nVous pouvez démarrer et gérer des Copilot cloud agent tâches par programmation à l’aide de l’API REST.\n\nVous pouvez utiliser l’API tâches de l’agent pour l’intégrer cloud agent à 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.\n\nEn outre, vous pouvez utiliser les API REST et GraphQL pour les tickets afin d’attribuer des tickets à Copilot.\n\n## Utilisation de l’API tâches de l’agent\n\n> \\[!NOTE]\n> L'API des tâches de l'agent est en développement préversion publique et susceptible d'être modifiée.\n\n### Authentification\n\nL’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.\n\nLes jetons serveur à serveur, tels que GitHub App les jetons d’accès d’installation, ne sont pas pris en charge.\n\n### Démarrage d’une tâche via l’API\n\nPour démarrer une nouvelle cloud agent 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.\n\n```shell copy\ncurl -X POST \\\n  -H \"Accept: application/vnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  -H \"Authorization: Bearer YOUR-TOKEN\" \\\n  https://api.github.com/agents/repos/OWNER/REPO/tasks \\\n  -d '{\n    \"prompt\": \"Fix the login button on the homepage\",\n    \"base_ref\": \"main\"\n  }'\n```\n\nRemplacez les valeurs d’espace réservé suivantes :\n\n* `YOUR-TOKEN`: Un jeton utilisateur-à-serveur personal access token ou GitHub App.\n* `OWNER`: Le propriétaire du compte du dépôt.\n* `REPO`: nom du référentiel.\n\nVous pouvez également inclure les paramètres facultatifs suivants dans le corps de la requête :\n\n* ```\n            `base_ref`: branche de base pour la nouvelle branche et la pull request.\n  ```\n* `model`: modèle IA à utiliser pour la tâche. Si elle est omise, auto model selection 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](/fr/rest/agent-tasks/agent-tasks).\n* `create_pull_request`: Un booléen indiquant s'il convient de créer un pull request pour la tâche.\n\n### Liste des tâches\n\nVous 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.\n\nPour répertorier les tâches d’un référentiel spécifique :\n\n```shell copy\ncurl -H \"Accept: application/vnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  -H \"Authorization: Bearer YOUR-TOKEN\" \\\n  https://api.github.com/agents/repos/OWNER/REPO/tasks\n```\n\nPour répertorier vos tâches dans tous les référentiels :\n\n```shell copy\ncurl -H \"Accept: application/vnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  -H \"Authorization: Bearer YOUR-TOKEN\" \\\n  https://api.github.com/agents/tasks\n```\n\n### Vérification de l’état d’une tâche\n\nPour vérifier l’état d’une tâche spécifique, envoyez une `GET` demande avec l’ID de tâche :\n\n```shell copy\ncurl -H \"Accept: application/vnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  -H \"Authorization: Bearer YOUR-TOKEN\" \\\n  https://api.github.com/agents/repos/OWNER/REPO/tasks/TASK-ID\n```\n\nRemplacez `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 `state`de la tâche, qui peut être l’un des suivants : `queued`, , `in_progress``completed`, `failed`, `idle`, , `waiting_for_user`, , `timed_out`, ou `cancelled`.\n\n## Utilisation de l’API des problèmes\n\n> \\[!NOTE]\n> Cette fonctionnalité est en cours de développement préversion publique et est susceptible de changer.\n\nVous pouvez affecter des problèmes à Copilot à l’aide de l’API GraphQL ou de l’API REST. Les deux API prennent en charge une entrée d’affectation d’agent facultative pour personnaliser la tâche :\n\n| Paramètre GraphQL    | Paramètre REST        | Description                                    |\n| -------------------- | --------------------- | ---------------------------------------------- |\n| `targetRepositoryId` | `target_repo`         | Le référentiel où travaillera Copilot          |\n| `baseRef`            | `base_branch`         | Branche à partir de laquelle Copilot se sépare |\n| `customInstructions` | `custom_instructions` | Instructions supplémentaires pour Copilot      |\n| `customAgent`        | `custom_agent`        | Un custom agent à utiliser pour la tâche       |\n| `model`              | `model`               | Modèle à Copilot utiliser                      |\n\n### Utilisation de l’API GraphQL\n\n> \\[!NOTE]\n> Vous devez inclure l’en-tête `GraphQL-Features` avec les valeurs `issues_copilot_assignment_api_support` et `coding_agent_model_selection`.\n\nVous pouvez utiliser les mutations GraphQL suivantes pour affecter des problèmes à Copilot:\n\n* [`updateIssue`](/fr/graphql/reference/issues#mutation-updateissue)\n* [`createIssue`](/fr/graphql/reference/issues#mutation-createissue)\n* [`addAssigneesToAssignable`](/fr/graphql/reference/issues#mutation-addassigneestoassignable)\n* [`replaceActorsForAssignable`](/fr/graphql/reference/issues#mutation-replaceactorsforassignable)\n\n#### Création et affectation d’un problème\n\n1. Vérifiez que vous vous authentifiez avec l’API à l’aide d’un jeton utilisateur, par exemple un personal access tokenGitHub App jeton utilisateur à serveur.\n\n   > \\[!NOTE]\n   > Si vous utilisez un fine-grained personal access token, les autorisations suivantes sont nécessaires pour attribuer Copilot à un problème :\n   >\n   > * Accès en lecture aux métadonnées\n   > * Accès en lecture et en écriture aux actions, contenus, problèmes et demandes de tirage\n   >\n   > Si vous utilisez un personal access token (classic), il nécessite l'étendue `repo` pour attribuer Copilot à un problème.\n\n2. Vérifiez que Copilot cloud agent soit activé dans le référentiel en vérifiant si l'API GraphQL `suggestedActors` inclut Copilot. Remplacez `octo-org` par le propriétaire du référentiel, et `octo-repo` par le nom du référentiel.\n\n   ```graphql copy\n   query {\n     repository(owner: \"octo-org\", name: \"octo-repo\") {\n       suggestedActors(capabilities: [CAN_BE_ASSIGNED], first: 100) {\n         nodes {\n           login\n           __typename\n\n           ... on Bot {\n             id\n           }\n\n           ... on User {\n             id\n           }\n         }\n       }\n     }\n   }\n   ```\n\n   Si Copilot cloud agent est activé pour l’utilisateur et dans le référentiel, le premier nœud retourné par la requête aura la valeur `login``copilot-swe-agent`.\n\n3. Notez la valeur `id` de cette connexion.\n\n4. Récupérez l’ID global GraphQL du référentiel dans lequel vous souhaitez créer le ticket, en remplaçant `octo-org` par le propriétaire du référentiel et `octo-repo` par le nom du référentiel.\n\n   ```graphql copy\n   query {\n     repository(owner: \"octo-org\", name: \"octo-repo\") {\n       id\n     }\n   }\n   ```\n\n5. Créez le problème avec la mutation `createIssue`. Remplacez `REPOSITORY_ID` par l’id renvoyé à l’étape précédente, et `BOT_ID` par l’id renvoyé à l’étape précédente. Vous pouvez éventuellement inclure l’entrée `agentAssignment` pour personnaliser la tâche.\n\n   ```shell copy\n   gh api graphql -f query='mutation {\n     createIssue(input: {\n       repositoryId: \"REPOSITORY_ID\",\n       title: \"Implement comprehensive unit tests\",\n       body: \"DETAILS\",\n       assigneeIds: [\"BOT_ID\"],\n       agentAssignment: {\n         targetRepositoryId: \"REPOSITORY_ID\",\n         baseRef: \"main\",\n         customInstructions: \"Add comprehensive test coverage\",\n         customAgent: \"\",\n         model: \"\"\n       }\n     }) {\n       issue {\n         id\n         title\n         assignees(first: 10) {\n           nodes {\n             login\n           }\n         }\n       }\n     }\n   }' -H 'GraphQL-Features: issues_copilot_assignment_api_support,coding_agent_model_selection'\n   ```\n\n#### Affectation d’un problème existant\n\n1. Vérifiez que vous vous authentifiez avec l’API à l’aide d’un jeton utilisateur, par exemple un personal access tokenGitHub App jeton utilisateur à serveur.\n\n2. Vérifiez que Copilot cloud agent soit activé dans le référentiel en vérifiant si l'API GraphQL `suggestedActors` inclut Copilot. Remplacez `octo-org` par le propriétaire du référentiel, et `octo-repo` par le nom du référentiel.\n\n   ```graphql copy\n   query {\n     repository(owner: \"monalisa\", name: \"octocat\") {\n       suggestedActors(capabilities: [CAN_BE_ASSIGNED], first: 100) {\n         nodes {\n           login\n           __typename\n\n           ... on Bot {\n             id\n           }\n\n           ... on User {\n             id\n           }\n         }\n       }\n     }\n   }\n   ```\n\n   Si Copilot cloud agent est activé pour l’utilisateur et dans le référentiel, le premier nœud retourné par la requête aura la valeur `login``copilot-swe-agent`.\n\n3. Récupérez l’ID global GraphQL du problème auquel Copilotvous souhaitez affecter , en remplaçant `monalisa` par le propriétaire du référentiel, `octocat` par le nom et `9000` par le numéro de problème.\n\n   ```graphql copy\n   query {\n     repository(owner: \"monalisa\", name: \"octocat\") {\n       issue(number: 9000) {\n         id\n         title\n       }\n     }\n   }\n   ```\n\n4. Affectez le problème existant à Copilot en utilisant la `replaceActorsForAssignable` mutation. Remplacez `ISSUE_ID` par l’ID retourné à l’étape précédente, `BOT_ID` par l’ID retourné par l’étape précédente et `REPOSITORY_ID` par l’ID de référentiel. Vous pouvez éventuellement inclure l’entrée `agentAssignment` pour personnaliser la tâche.\n\n   ```shell copy\n   gh api graphql -f query='mutation {\n     replaceActorsForAssignable(input: {\n       assignableId: \"ISSUE_ID\",\n       actorIds: [\"BOT_ID\"],\n       agentAssignment: {\n         targetRepositoryId: \"REPOSITORY_ID\",\n         baseRef: \"main\",\n         customInstructions: \"Fix the reported bug\",\n         customAgent: \"\",\n         model: \"\"\n       }\n     }) {\n       assignable {\n         ... on Issue {\n           id\n           title\n           assignees(first: 10) {\n             nodes {\n               login\n             }\n           }\n         }\n       }\n     }\n   }' -H 'GraphQL-Features: issues_copilot_assignment_api_support,coding_agent_model_selection'\n   ```\n\n5. Vous pouvez également utiliser la `updateIssue` mutation pour mettre à jour un problème existant et l’affecter à Copilot. Remplacez `ISSUE_ID` par l’ID de problème et `BOT_ID` par l’ID du bot.\n\n   ```shell copy\n   gh api graphql -f query='mutation {\n     updateIssue(input: {\n       id: \"ISSUE_ID\",\n       assigneeIds: [\"BOT_ID\"],\n       agentAssignment: {\n         targetRepositoryId: \"REPOSITORY_ID\",\n         baseRef: \"main\",\n         customInstructions: \"Update feature implementation\",\n         customAgent: \"\",\n         model: \"\"\n       }\n     }) {\n       issue {\n         id\n         title\n         assignees(first: 10) {\n           nodes {\n             login\n           }\n         }\n       }\n     }\n   }' -H 'GraphQL-Features: issues_copilot_assignment_api_support,coding_agent_model_selection'\n   ```\n\n6. Vous pouvez également utiliser la `addAssigneesToAssignable` mutation pour ajouter Copilot à un problème existant tout en gardant d'autres attributions. Remplacez `ISSUE_ID` par l’ID de problème et `BOT_ID` par l’ID du bot.\n\n   ```shell copy\n   gh api graphql -f query='mutation {\n     addAssigneesToAssignable(input: {\n       assignableId: \"ISSUE_ID\",\n       assigneeIds: [\"BOT_ID\"],\n       agentAssignment: {\n         targetRepositoryId: \"REPOSITORY_ID\",\n         baseRef: \"main\",\n         customInstructions: \"Collaborate on this task\",\n         customAgent: \"\",\n         model: \"\"\n       }\n     }) {\n       assignable {\n         ... on Issue {\n           id\n           title\n           assignees(first: 10) {\n             nodes {\n               login\n             }\n           }\n         }\n       }\n     }\n   }' -H 'GraphQL-Features: issues_copilot_assignment_api_support,coding_agent_model_selection'\n   ```\n\n### Utilisation de l’API REST\n\nVous pouvez utiliser les points de terminaison d’API REST suivants pour affecter des problèmes à Copilot:\n\n* [Ajouter des responsables à une tâche](/fr/rest/issues/assignees#add-assignees-to-an-issue)\n* [Créer un problème](/fr/rest/issues/issues#create-an-issue)\n* [Mettre à jour un problème](/fr/rest/issues/issues#update-an-issue)\n\n#### Ajouter des assignés à un problème existant\n\n```shell copy\ngh api \\\n  --method POST \\\n  -H \"Accept: application/vnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  /repos/OWNER/REPO/issues/ISSUE_NUMBER/assignees \\\n  --input - <<< '{\n  \"assignees\": [\"copilot-swe-agent[bot]\"],\n  \"agent_assignment\": {\n    \"target_repo\": \"OWNER/REPO\",\n    \"base_branch\": \"main\",\n    \"custom_instructions\": \"\",\n    \"custom_agent\": \"\",\n    \"model\": \"\"\n  }\n}'\n```\n\n#### Création d’un problème\n\n```shell copy\ngh api \\\n  --method POST \\\n  -H \"Accept: application/vnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  /repos/OWNER/REPO/issues \\\n  --input - <<< '{\n  \"title\": \"Issue title\",\n  \"body\": \"Issue description.\",\n  \"assignees\": [\"copilot-swe-agent[bot]\"],\n  \"agent_assignment\": {\n    \"target_repo\": \"OWNER/REPO\",\n    \"base_branch\": \"main\",\n    \"custom_instructions\": \"\",\n    \"custom_agent\": \"\",\n    \"model\": \"\"\n  }\n}'\n```\n\n#### Mise à jour d’un problème existant\n\n```shell copy\ngh api \\\n  --method PATCH \\\n  -H \"Accept: application/vnd.github+json\" \\\n  -H \"X-GitHub-Api-Version: 2022-11-28\" \\\n  /repos/OWNER/REPO/issues/ISSUE_NUMBER \\\n  --input - <<< '{\n  \"assignees\": [\"copilot-swe-agent[bot]\"],\n  \"agent_assignment\": {\n    \"target_repo\": \"OWNER/REPO\",\n    \"base_branch\": \"main\",\n    \"custom_instructions\": \"\",\n    \"custom_agent\": \"\",\n    \"model\": \"\"\n  }\n}'\n```\n\n## Lectures complémentaires\n\n* [Points de terminaison d’API REST pour les tâches de l’agent](/fr/rest/agent-tasks/agent-tasks)\n* [À propos de GitHub Copilot agent cloud](/fr/copilot/concepts/agents/cloud-agent/about-cloud-agent)\n* [Démarrage des sessions GitHub Copilot](/fr/copilot/how-tos/use-copilot-agents/cloud-agent/start-copilot-sessions)"}