工具: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 ( |
| 字段 | |
|---|---|
name |
必需。代码库的名称。 |
commitMetadata |
必需。要提交到代码库的更改。 |
requiredHeadCommitSha |
可选。在应用相应提交之前,必须是代码库的当前 HEAD 的提交 SHA;否则,此请求将失败。如果未设置,则不会对当前 HEAD 提交 SHA 执行验证。 |
fileOperations |
可选。一个映射,用于将文件路径映射到操作。路径是完整的文件路径(包括文件名),从代码库根目录开始。 包含一系列 |
CommitMetadata
| JSON 表示法 |
|---|
{
"author": {
object ( |
| 字段 | |
|---|---|
author |
必需。相应提交的作者。 |
commitMessage |
可选。相应提交的消息。 |
CommitAuthor
| JSON 表示法 |
|---|
{ "name": string, "emailAddress": string } |
| 字段 | |
|---|---|
name |
必需。提交作者的姓名。 |
emailAddress |
必需。提交作者的电子邮件地址。 |
FileOperationsEntry
| JSON 表示法 |
|---|
{
"key": string,
"value": {
object ( |
| 字段 | |
|---|---|
key |
|
value |
|
FileOperation
| JSON 表示法 |
|---|
{ // Union field |
| 字段 | |
|---|---|
联合字段 operation。要对文件执行的操作。operation 只能是下列其中一项: |
|
writeFile |
表示写入操作。 |
deleteFile |
表示删除操作。 |
WriteFile
| JSON 表示法 |
|---|
{ "contents": string } |
| 字段 | |
|---|---|
contents |
文件的内容。 使用 base64 编码的字符串。 |
输出架构
CommitRepositoryChanges 响应消息。
CommitRepositoryChangesResponse
| JSON 表示法 |
|---|
{ "commitSha": string } |
| 字段 | |
|---|---|
commitSha |
当前提交的提交 SHA。 |
工具注释
工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。
除了标题字符串之外,还定义了以下布尔值提示:
readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界工具,而内存工具不是开放世界工具。
破坏性提示:❌ | 等幂性提示:❌ | 只读提示:❌ | 开放世界提示:❌