MCP Tools Reference: developerconnect.googleapis.com

Alat: fetch-repo-commit

Mengambil detail commit tertentu dari repositori Git. Untuk mengambil hunk patch baris demi baris dalam tampilan FULL, teruskan path_filters (misalnya, ['**'] untuk semua file).

Contoh kode berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP fetch-repo-commit.

Permintaan 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
}'

Skema Input

Pesan permintaan untuk FetchGitRepositoryLinkCommit.

FetchGitRepositoryLinkCommitRequest

Representasi JSON
{
  "name": string,
  "commitSha": string,
  "view": enum (CommitView),
  "pathFilters": [
    string
  ]
}
Kolom
name

string

Wajib. Nama resource GitRepositoryLink dalam format projects/*/locations/*/connections/*/gitRepositoryLinks/*.

commitSha

string

Wajib. SHA commit, atau revisi simbolis (misalnya, nama cabang, tag, atau referensi Git).

view

enum (CommitView)

Opsional. Tingkat detail commit yang akan ditampilkan dalam respons. Setelan defaultnya adalah FULL jika tidak ditentukan. Dalam tampilan FULL, metadata files (jalur dan status) ditampilkan; path_filters juga harus ditentukan untuk mengisi hunk patch baris.

pathFilters[]

string

Opsional. Pola jalur atau jalur persis untuk memfilter file yang ditampilkan (hanya berlaku dalam tampilan FULL). Jika path_filters ditentukan, FileDiff.patch akan diisi untuk semua file yang cocok (gunakan ["**"] untuk menyertakan patch untuk semua file yang diubah). Jika path_filters dihilangkan atau kosong, daftar lengkap FileDiff akan ditampilkan tanpa perbedaan patch (FileDiff.patch kosong).

CommitView

Tingkat detail commit yang akan ditampilkan dalam respons.

Enum
COMMIT_VIEW_UNSPECIFIED Tidak ditentukan, setelan defaultnya adalah BASIC.
BASIC Tampilan dasar, menampilkan metadata commit, tetapi tidak menampilkan perbedaan file.
FULL Tampilan lengkap, menampilkan metadata commit dan perbedaan file.

Skema Output

Pesan respons untuk FetchGitRepositoryLinkCommit.

FetchGitRepositoryLinkCommitResponse

Representasi JSON
{
  "commit": {
    object (SCMCommit)
  },
  "files": [
    {
      object (FileDiff)
    }
  ]
}
Kolom
commit

object (SCMCommit)

Metadata commit.

files[]

object (FileDiff)

Daftar perubahan file dan perbedaan patch. Dihilangkan jika tampilan adalah BASIC. Diff patch (FileDiff.patch) hanya diisi jika path_filters ditentukan dalam permintaan.

SCMCommit

Representasi JSON
{
  "sha": string,
  "message": string,
  "author": string,
  "authorEmail": string,
  "commitTime": string,
  "url": string
}
Kolom
sha

string

SHA commit SCM 40 karakter lengkap.

message

string

Teks pesan commit.

author

string

Nama tampilan penulis.

authorEmail

string

Alamat email penulis.

commitTime

string (Timestamp format)

Stempel waktu saat commit dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

url

string

Link URL HTML penyedia SCM untuk commit ini.

Stempel waktu

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z).

nanos

integer

Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nano non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif.

FileDiff

Representasi JSON
{
  "path": string,
  "status": string,
  "patch": string
}
Kolom
path

string

Jalur relatif ke file di repositori.

status

string

Status perubahan: "ADDED", "MODIFIED", "REMOVED", "RENAMED".

patch

string

Hunk patch diff terpadu standar untuk file. Hanya diisi jika path_filters ditentukan dalam permintaan; jika tidak, akan kosong.

Anotasi Alat

Anotasi alat dikirim ke klien MCP untuk menjelaskan risiko dasar alat tertentu. Sebagian besar klien memperlakukan petunjuk ini sebagai tidak tepercaya, tetapi petunjuk tersebut dapat digunakan untuk memutuskan kapan perintah konfirmasi dapat dikirim kepada pengguna.

Bersama dengan string judul, petunjuk boolean berikut ditentukan sebagai berikut:

  • readOnlyHint: Jika benar, alat tidak akan mengubah lingkungannya. Default: false.
  • destructiveHint: Jika benar, alat dapat melakukan tindakan destruktif. Jika salah (false), alat hanya dapat melakukan tindakan aditif. Default: true.
  • idempotentHint: Jika benar, memanggil alat berulang kali dengan argumen yang sama tidak akan memberikan efek tambahan pada lingkungannya. Default: false.
  • openWorldHint: Jika benar, alat dapat berinteraksi dengan 'open world' entitas eksternal. Jika salah, alat hanya dapat berinteraksi dengan entity internal. Misalnya, alat penelusuran web akan bersifat open world, sedangkan alat memori tidak akan bersifat open world.

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌