MCP Tools Reference: developerconnect.googleapis.com

도구: fetch-repo-commit

Git 저장소에서 특정 커밋의 세부정보를 가져옵니다. 전체 뷰에서 줄별 패치 헌크를 가져오려면 path_filters를 전달합니다 (예: 모든 파일의 경우 ['**']).

다음 코드 샘플은 curl를 사용하여 fetch-repo-commit MCP 도구를 호출하는 방법을 보여줍니다.

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

입력 스키마

FetchGitRepositoryLinkCommit의 요청 메시지입니다.

FetchGitRepositoryLinkCommitRequest

JSON 표현
{
  "name": string,
  "commitSha": string,
  "view": enum (CommitView),
  "pathFilters": [
    string
  ]
}
필드
name

string

필수 입력란입니다. projects/*/locations/*/connections/*/gitRepositoryLinks/* 형식의 GitRepositoryLink 리소스 이름입니다.

commitSha

string

필수 입력란입니다. 커밋 SHA 또는 기호 버전 (예: 브랜치 이름, 태그 또는 Git 참조)입니다.

view

enum (CommitView)

(선택사항) 응답에 반환할 커밋 세부정보 수준입니다. 지정되지 않은 경우 기본값은 FULL입니다. FULL 뷰에서는 files 메타데이터 (경로 및 상태)가 반환됩니다. 줄 패치 헌크를 채우려면 path_filters도 지정해야 합니다.

pathFilters[]

string

(선택사항) 반환된 파일을 필터링하는 경로 패턴 또는 정확한 경로입니다(FULL 뷰에만 적용 가능). path_filters를 지정하면 일치하는 모든 파일에 FileDiff.patch가 채워집니다 (변경된 모든 파일의 패치를 포함하려면 ["**"] 사용). path_filters가 생략되거나 비어 있으면 패치 차이 없이 FileDiff의 전체 목록이 반환됩니다 (FileDiff.patch가 비어 있음).

CommitView

응답에 반환할 커밋 세부정보 수준입니다.

열거형
COMMIT_VIEW_UNSPECIFIED 지정되지 않은 경우 기본값은 BASIC입니다.
BASIC 기본 뷰, 커밋 메타데이터를 반환하지만 파일 차이는 반환하지 않습니다.
FULL 전체 뷰, 커밋 메타데이터 및 파일 차이를 반환합니다.

출력 스키마

FetchGitRepositoryLinkCommit의 응답 메시지입니다.

FetchGitRepositoryLinkCommitResponse

JSON 표현
{
  "commit": {
    object (SCMCommit)
  },
  "files": [
    {
      object (FileDiff)
    }
  ]
}
필드
commit

object (SCMCommit)

커밋 메타데이터입니다.

files[]

object (FileDiff)

파일 변경사항 및 패치 차이점 목록입니다. 뷰가 BASIC인 경우 생략됩니다. 패치 차이 (FileDiff.patch)는 요청에 path_filters가 지정된 경우에만 채워집니다.

SCMCommit

JSON 표현
{
  "sha": string,
  "message": string,
  "author": string,
  "authorEmail": string,
  "commitTime": string,
  "url": string
}
필드
sha

string

전체 40자(영문 기준) SCM 커밋 SHA입니다.

message

string

커밋 메시지 텍스트입니다.

author

string

작성자의 표시 이름입니다.

authorEmail

string

작성자의 이메일 주소입니다.

commitTime

string (Timestamp format)

커밋이 작성된 시점의 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

url

string

이 커밋의 SCM 제공업체 HTML URL 링크입니다.

타임스탬프

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

유닉스 시간 1970-01-01T00:00:00Z 이후 경과된 UTC 시간을 초 단위로 나타냅니다. -62135596800~253402300799(양 끝값 포함) 사이여야 합니다(0001-01-01T00:00:00Z~9999-12-31T23:59:59Z에 해당).

nanos

integer

나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초를 대체하지 않습니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다.

FileDiff

JSON 표현
{
  "path": string,
  "status": string,
  "patch": string
}
필드
path

string

저장소에 있는 파일의 상대 경로입니다.

status

string

변경 상태: 'ADDED', 'MODIFIED', 'REMOVED', 'RENAMED'

patch

string

파일의 표준 통합 diff 패치 헌크입니다. 요청에 path_filters가 지정된 경우에만 채워집니다. 그렇지 않으면 비어 있습니다.

도구 주석

도구 주석은 MCP 클라이언트에 전송되어 특정 도구의 기본 위험을 설명합니다. 대부분의 클라이언트는 이러한 힌트를 신뢰할 수 없는 것으로 취급하지만, 확인 메시지가 사용자에게 전송될 수 있는 시점을 결정하는 데 사용할 수 있습니다.

제목 문자열과 함께 다음 불리언 힌트가 정의됩니다.

  • readOnlyHint: true인 경우 도구가 환경을 수정하지 않습니다. 기본값: false.
  • destructiveHint: true인 경우 도구에서 파괴적인 작업을 수행할 수 있습니다. false이면 도구는 추가 작업만 수행할 수 있습니다. 기본값은 true입니다.
  • idempotentHint: true인 경우 동일한 인수로 도구를 반복적으로 호출해도 환경에 추가적인 영향을 미치지 않습니다. 기본값: false.
  • openWorldHint: true인 경우 도구는 외부 항목의 '오픈 월드'와 상호작용할 수 있습니다. false이면 도구는 내부 항목과만 상호작용할 수 있습니다. 예를 들어 웹 검색 도구는 오픈 월드이지만 메모리 도구는 오픈 월드가 아닙니다.

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