Tool: commit_workspace_changes
Record a Git commit for the uncommitted changes in a Dataform workspace.
The commit stays local to the workspace until it's published with the push_git_commits tool.
By default, all uncommitted changes are committed. To commit only a subset of files, supply the paths parameter value.
The name parameter value must be in the format projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.
The author parameter value identifies the Git author recorded for the commit. Both author.name and author.email_address are required. Supply the values that identify the user on whose behalf the commit is made. Don't use placeholders, because they're written into the Git history.
The commit_message parameter value is the commit's message.
The following code sample shows how to use curl to call the commit_workspace_changes MCP tool.
| Curl Request |
|---|
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_workspace_changes", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
CommitWorkspaceChanges request message.
CommitWorkspaceChangesRequest
| JSON representation |
|---|
{
"name": string,
"author": {
object ( |
| Fields | |
|---|---|
name |
Required. The workspace's name. |
author |
Required. The commit's author. |
commitMessage |
Optional. The commit's message. |
paths[] |
Optional. Full file paths to commit including filename, rooted at workspace root. If left empty, all files will be committed. |
CommitAuthor
| JSON representation |
|---|
{ "name": string, "emailAddress": string } |
| Fields | |
|---|---|
name |
Required. The commit author's name. |
emailAddress |
Required. The commit author's email address. |
Output Schema
CommitWorkspaceChanges response message.
Tool Annotations
Tool annotations are sent to MCP clients to describe the basic risk of a given tool. Most clients treat these hints as untrusted, but they can be used to decide when a confirmation prompt might be sent to a user.
Along with the title string, the following boolean hints are defined as follows:
readOnlyHint: If true, the tool doesn't modify its environment. Default: false.destructiveHint: If true, then the tool can perform destructive actions. If false, then the tool can only perform additive actions. Default: true.idempotentHint: If true, then calling the tool repeatedly with the same arguments will have no additional effect on its environment. Default: false.openWorldHint: If true, then the tool can interact with an 'open world' of external entities. If false, then the tool can only interact with internal entities. For example, a web search tool would be open world, while a memory tool would not be open world.
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌