Outil : fetch-repo-commit
Récupérez les détails d'un commit spécifique à partir d'un dépôt Git. Pour récupérer des fragments de correctif ligne par ligne en vue FULL, transmettez path_filters (par exemple, ['**'] pour tous les fichiers).
L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP fetch-repo-commit.
| Requête curl |
|---|
curl --location 'https://developerconnect.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "fetch-repo-commit", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Schéma d'entrée
Message de requête pour FetchGitRepositoryLinkCommit.
FetchGitRepositoryLinkCommitRequest
| Représentation JSON |
|---|
{
"name": string,
"commitSha": string,
"view": enum ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom de ressource du GitRepositoryLink au format |
commitSha |
Obligatoire. SHA du commit ou révision symbolique (par exemple, nom de la branche, tag ou référence Git). |
view |
Facultatif. Niveau de détails du commit à renvoyer dans la réponse. Prend la valeur |
pathFilters[] |
Facultatif. Modèles de chemin d'accès ou chemins d'accès exacts pour filtrer les fichiers renvoyés (applicable uniquement dans la vue |
CommitView
Niveau de détails du commit à renvoyer dans la réponse.
| Enums | |
|---|---|
COMMIT_VIEW_UNSPECIFIED |
Si aucune valeur n'est spécifiée, la valeur par défaut est BASIC. |
BASIC |
Vue de base, renvoie les métadonnées de commit, mais pas les différences de fichiers. |
FULL |
Vue complète, renvoie les métadonnées de commit et les différences de fichiers. |
Schéma de sortie
Message de réponse pour FetchGitRepositoryLinkCommit.
FetchGitRepositoryLinkCommitResponse
| Représentation JSON |
|---|
{ "commit": { object ( |
| Champs | |
|---|---|
commit |
Métadonnées du commit. |
files[] |
Liste des modifications de fichiers et des différences de correctifs. Omis lorsque la vue est |
SCMCommit
| Représentation JSON |
|---|
{ "sha": string, "message": string, "author": string, "authorEmail": string, "commitTime": string, "url": string } |
| Champs | |
|---|---|
sha |
SHA de commit SCM complet de 40 caractères. |
message |
Texte du message de commit. |
author |
Nom à afficher de l'auteur. |
authorEmail |
Adresse e-mail de l'auteur. |
commitTime |
Horodatage de la création du commit. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
url |
Lien URL HTML du fournisseur de gestion de code source pour ce commit. |
Horodatage
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. Doit être compris entre -62135596800 et 253402300799 inclus (ce qui correspond à la période allant du 01/01/0001 à 00:00:00 UTC au 31/12/9999 à 23:59:59 UTC). |
nanos |
Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 (inclus). |
FileDiff
| Représentation JSON |
|---|
{ "path": string, "status": string, "patch": string } |
| Champs | |
|---|---|
path |
Chemin relatif au fichier dans le dépôt. |
status |
État de la modification : "ADDED", "MODIFIED", "REMOVED", "RENAMED". |
patch |
Fragment de correctif diff unifié standard pour le fichier. Renseigné uniquement lorsque |
Annotations d'outils
Les annotations d'outil sont envoyées aux clients MCP pour décrire le risque de base d'un outil donné. La plupart des clients considèrent ces indications comme non fiables, mais elles peuvent être utilisées pour décider quand envoyer une invite de confirmation à un utilisateur.
En plus de la chaîne de titre, les indices booléens suivants sont définis comme suit :
readOnlyHint: si la valeur est "true", l'outil ne modifie pas son environnement. Valeur par défaut : "false".destructiveHint: si la valeur est "true", l'outil peut effectuer des actions destructrices. Si la valeur est "false", l'outil ne peut effectuer que des actions d'ajout. Valeur par défaut : "true".idempotentHint: si la valeur est "true", l'appel répété de l'outil avec les mêmes arguments n'aura aucun effet supplémentaire sur son environnement. Valeur par défaut : "false".openWorldHint: si la valeur est "true", l'outil peut interagir avec un "monde ouvert" d'entités externes. Si la valeur est "false", l'outil ne peut interagir qu'avec des entités internes. Par exemple, un outil de recherche sur le Web serait en monde ouvert, tandis qu'un outil de mémoire ne le serait pas.
Indice "Destructive" : ❌ | Indice "Idempotent" : ✅ | Indice "Read Only" : ✅ | Indice "Open World" : ❌