MCP Tools Reference: dataform.googleapis.com

工具:commit_repository_changes

应用 Git 提交来记录 Dataform 代码库中文件的状态。

此工具主要用于管理直接位于代码库中的单文件资产,例如笔记本或已保存的查询。此工具不适用于需要工作区的典型流水线工作流。

请勿在连接到远程 Git 主机的代码库中使用此工具。如需进行验证,请使用 get_repository 工具。如果存在 git_remote_settings 字段,则表示代码库已连接到远程主机,您必须改用基于工作区的工具,例如 commit_workspace_changes。

此提交操作会在代码库的内部 Git 历史记录中创建一个永久条目。

name 参数值必须采用 projects/{project_id}/locations/{location}/repositories/{repository} 格式。

以下代码示例展示了如何使用 curl 调用 commit_repository_changes MCP 工具。

Curl 请求
curl --location 'https://dataform.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "commit_repository_changes",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

输入架构

CommitRepositoryChanges 请求消息。

CommitRepositoryChangesRequest

JSON 表示法
{
  "name": string,
  "commitMetadata": {
    object (CommitMetadata)
  },
  "requiredHeadCommitSha": string,
  "fileOperations": {
    string: {
      object (FileOperation)
    },
    ...
  }
}
字段
name

string

必需。代码库的名称。

commitMetadata

object (CommitMetadata)

必需。要提交到代码库的更改。

requiredHeadCommitSha

string

可选。在应用相应提交之前,必须是代码库的当前 HEAD 的提交 SHA;否则,此请求将失败。如果未设置,则不会对当前 HEAD 提交 SHA 执行验证。

fileOperations

map (key: string, value: object (FileOperation))

可选。一个映射,用于将文件路径映射到操作。路径是完整的文件路径(包括文件名),从代码库根目录开始。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

CommitMetadata

JSON 表示法
{
  "author": {
    object (CommitAuthor)
  },
  "commitMessage": string
}
字段
author

object (CommitAuthor)

必需。相应提交的作者。

commitMessage

string

可选。相应提交的消息。

CommitAuthor

JSON 表示法
{
  "name": string,
  "emailAddress": string
}
字段
name

string

必需。提交作者的姓名。

emailAddress

string

必需。提交作者的电子邮件地址。

FileOperationsEntry

JSON 表示法
{
  "key": string,
  "value": {
    object (FileOperation)
  }
}
字段
key

string

value

object (FileOperation)

FileOperation

JSON 表示法
{

  // Union field operation can be only one of the following:
  "writeFile": {
    object (WriteFile)
  },
  "deleteFile": {
    object (DeleteFile)
  }
  // End of list of possible types for union field operation.
}
字段
联合字段 operation。要对文件执行的操作。operation 只能是下列其中一项:
writeFile

object (WriteFile)

表示写入操作。

deleteFile

object (DeleteFile)

表示删除操作。

WriteFile

JSON 表示法
{
  "contents": string
}
字段
contents

string (bytes format)

文件的内容。

使用 base64 编码的字符串。

输出架构

CommitRepositoryChanges 响应消息。

CommitRepositoryChangesResponse

JSON 表示法
{
  "commitSha": string
}
字段
commitSha

string

当前提交的提交 SHA。

工具注释

工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。

除了标题字符串之外,还定义了以下布尔值提示:

  • readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。
  • destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。
  • idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。
  • openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界工具,而内存工具不是开放世界工具。

破坏性提示:❌ | 等幂性提示:❌ | 只读提示:❌ | 开放世界提示:❌