Tool: create_release_config
Create a new release configuration in a given Dataform repository.
The parent parameter value must be in the format projects/{project_id}/locations/{location}/repositories/{repository}.
The release_config_id is the user-defined ID for the release configuration. If the user doesn't specify an ID, generate a short, descriptive ID using lowercase letters, numbers, and hyphens based on their request.
The following sample demonstrate how to use curl to invoke the create_release_config 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": "create_release_config", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
CreateReleaseConfig request message.
CreateReleaseConfigRequest
| JSON representation |
|---|
{
"parent": string,
"releaseConfig": {
object ( |
| Fields | |
|---|---|
parent |
Required. The repository in which to create the release config. Must be in the format |
releaseConfig |
Required. The release config to create. |
releaseConfigId |
Required. The ID to use for the release config, which will become the final component of the release config's resource name. |
ReleaseConfig
| JSON representation |
|---|
{ "name": string, "gitCommitish": string, "codeCompilationConfig": { object ( |
| Fields | |
|---|---|
name |
Identifier. The release config's name. |
gitCommitish |
Required. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: |
codeCompilationConfig |
Optional. If set, fields of |
cronSchedule |
Optional. Optional schedule (in cron format) for automatic creation of compilation results. |
timeZone |
Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database. If left unspecified, the default is |
recentScheduledReleaseRecords[] |
Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of |
releaseCompilationResult |
Optional. The name of the currently released compilation result for this release config. This value is updated when a compilation result is automatically created from this release config (using cron_schedule), or when this resource is updated by API call (perhaps to roll back to an earlier release). The compilation result must have been created using this release config. Must be in the format |
disabled |
Optional. Disables automatic creation of compilation results. |
Union field
|
|
internalMetadata |
Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. |
CodeCompilationConfig
| JSON representation |
|---|
{ "defaultDatabase": string, "defaultSchema": string, "defaultLocation": string, "assertionSchema": string, "vars": { string: string, ... }, "databaseSuffix": string, "schemaSuffix": string, "tablePrefix": string, "builtinAssertionNamePrefix": string, "defaultNotebookRuntimeOptions": { object ( |
| Fields | |
|---|---|
defaultDatabase |
Optional. The default database (Google Cloud project ID). |
defaultSchema |
Optional. The default schema (BigQuery dataset ID). |
defaultLocation |
Optional. The default BigQuery location to use. Defaults to "US". See the BigQuery docs for a full list of locations: https://cloud.google.com/bigquery/docs/locations. |
assertionSchema |
Optional. The default schema (BigQuery dataset ID) for assertions. |
vars |
Optional. User-defined variables that are made available to project code during compilation. An object containing a list of |
databaseSuffix |
Optional. The suffix that should be appended to all database (Google Cloud project ID) names. |
schemaSuffix |
Optional. The suffix that should be appended to all schema (BigQuery dataset ID) names. |
tablePrefix |
Optional. The prefix that should be prepended to all table names. |
builtinAssertionNamePrefix |
Optional. The prefix to prepend to built-in assertion names. |
defaultNotebookRuntimeOptions |
Optional. The default notebook runtime options. |
pipelineConfig |
Optional. The pipeline options which defines the pipeline type and path within the Git repository. |
VarsEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
NotebookRuntimeOptions
| JSON representation |
|---|
{ "aiPlatformNotebookRuntimeTemplate": string, // Union field |
| Fields | |
|---|---|
aiPlatformNotebookRuntimeTemplate |
Optional. The resource name of the Colab runtime template, from which a runtime is created for notebook executions. If not specified, a runtime is created with Colab's default specifications. |
Union field execution_sink. The location to store the notebook execution result. execution_sink can be only one of the following: |
|
gcsOutputBucket |
Optional. The Google Cloud Storage location to upload the result to. Format: |
Union field repository_snapshot_storage. The destination of the snapshot of repository files to be available for read-only access inside a notebook runtime repository_snapshot_storage can be only one of the following: |
|
gcsRepositorySnapshotDestination |
Optional. The Google Cloud Storage destination to upload the snapshot to. For empty URI it defaults to the provided gcs_output_bucket. Format: |
GcsRepositorySnapshotDestination
| JSON representation |
|---|
{ "repositorySnapshotUri": string } |
| Fields | |
|---|---|
repositorySnapshotUri |
Optional. The Google Cloud Storage destination to upload the repository snapshot to. Format: |
PipelineConfig
| JSON representation |
|---|
{
"pipelineType": enum ( |
| Fields | |
|---|---|
pipelineType |
Required. The type of the pipeline. |
path |
Required. The relative path within the Git repository where the pipeline is defined. For example, for a Dataform pipeline, it is a path to the folder where |
ScheduledReleaseRecord
| JSON representation |
|---|
{ "releaseTime": string, // Union field |
| Fields | |
|---|---|
releaseTime |
Output only. The timestamp of this release attempt. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
Union field result. The result of this release attempt. result can be only one of the following: |
|
compilationResult |
The name of the created compilation result, if one was successfully created. Must be in the format |
errorStatus |
The error status encountered upon this attempt to create the compilation result, if the attempt was unsuccessful. |
Status
| JSON representation |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Fields | |
|---|---|
code |
The status code, which should be an enum value of |
message |
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the |
details[] |
A list of messages that carry the error details. There is a common set of message types for APIs to use. An object containing fields of an arbitrary type. An additional field |
Any
| JSON representation |
|---|
{ "typeUrl": string, "value": string } |
| Fields | |
|---|---|
typeUrl |
Identifies the type of the serialized Protobuf message with a URI reference consisting of a prefix ending in a slash and the fully-qualified type name. Example: type.googleapis.com/google.protobuf.StringValue This string must contain at least one The prefix is arbitrary and Protobuf implementations are expected to simply strip off everything up to and including the last All type URL strings must be legal URI references with the additional restriction (for the text format) that the content of the reference must consist only of alphanumeric characters, percent-encoded escapes, and characters in the following set (not including the outer backticks): In the original design of |
value |
Holds a Protobuf serialization of the type described by type_url. A base64-encoded string. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
PipelineType
The type of the pipeline. This may be extended in the future. In case of UNSPECIFIED, the error will be thrown.
| Enums | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
Default value. This value is unused. |
DATAFORM |
Regular Dataform pipeline. |
SQL |
SQL single file asset. |
NOTEBOOK |
Notebook single file asset. |
Output Schema
Represents a Dataform release configuration.
ReleaseConfig
| JSON representation |
|---|
{ "name": string, "gitCommitish": string, "codeCompilationConfig": { object ( |
| Fields | |
|---|---|
name |
Identifier. The release config's name. |
gitCommitish |
Required. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: |
codeCompilationConfig |
Optional. If set, fields of |
cronSchedule |
Optional. Optional schedule (in cron format) for automatic creation of compilation results. |
timeZone |
Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database. If left unspecified, the default is |
recentScheduledReleaseRecords[] |
Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of |
releaseCompilationResult |
Optional. The name of the currently released compilation result for this release config. This value is updated when a compilation result is automatically created from this release config (using cron_schedule), or when this resource is updated by API call (perhaps to roll back to an earlier release). The compilation result must have been created using this release config. Must be in the format |
disabled |
Optional. Disables automatic creation of compilation results. |
Union field
|
|
internalMetadata |
Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. |
CodeCompilationConfig
| JSON representation |
|---|
{ "defaultDatabase": string, "defaultSchema": string, "defaultLocation": string, "assertionSchema": string, "vars": { string: string, ... }, "databaseSuffix": string, "schemaSuffix": string, "tablePrefix": string, "builtinAssertionNamePrefix": string, "defaultNotebookRuntimeOptions": { object ( |
| Fields | |
|---|---|
defaultDatabase |
Optional. The default database (Google Cloud project ID). |
defaultSchema |
Optional. The default schema (BigQuery dataset ID). |
defaultLocation |
Optional. The default BigQuery location to use. Defaults to "US". See the BigQuery docs for a full list of locations: https://cloud.google.com/bigquery/docs/locations. |
assertionSchema |
Optional. The default schema (BigQuery dataset ID) for assertions. |
vars |
Optional. User-defined variables that are made available to project code during compilation. An object containing a list of |
databaseSuffix |
Optional. The suffix that should be appended to all database (Google Cloud project ID) names. |
schemaSuffix |
Optional. The suffix that should be appended to all schema (BigQuery dataset ID) names. |
tablePrefix |
Optional. The prefix that should be prepended to all table names. |
builtinAssertionNamePrefix |
Optional. The prefix to prepend to built-in assertion names. |
defaultNotebookRuntimeOptions |
Optional. The default notebook runtime options. |
pipelineConfig |
Optional. The pipeline options which defines the pipeline type and path within the Git repository. |
VarsEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
NotebookRuntimeOptions
| JSON representation |
|---|
{ "aiPlatformNotebookRuntimeTemplate": string, // Union field |
| Fields | |
|---|---|
aiPlatformNotebookRuntimeTemplate |
Optional. The resource name of the Colab runtime template, from which a runtime is created for notebook executions. If not specified, a runtime is created with Colab's default specifications. |
Union field execution_sink. The location to store the notebook execution result. execution_sink can be only one of the following: |
|
gcsOutputBucket |
Optional. The Google Cloud Storage location to upload the result to. Format: |
Union field repository_snapshot_storage. The destination of the snapshot of repository files to be available for read-only access inside a notebook runtime repository_snapshot_storage can be only one of the following: |
|
gcsRepositorySnapshotDestination |
Optional. The Google Cloud Storage destination to upload the snapshot to. For empty URI it defaults to the provided gcs_output_bucket. Format: |
GcsRepositorySnapshotDestination
| JSON representation |
|---|
{ "repositorySnapshotUri": string } |
| Fields | |
|---|---|
repositorySnapshotUri |
Optional. The Google Cloud Storage destination to upload the repository snapshot to. Format: |
PipelineConfig
| JSON representation |
|---|
{
"pipelineType": enum ( |
| Fields | |
|---|---|
pipelineType |
Required. The type of the pipeline. |
path |
Required. The relative path within the Git repository where the pipeline is defined. For example, for a Dataform pipeline, it is a path to the folder where |
ScheduledReleaseRecord
| JSON representation |
|---|
{ "releaseTime": string, // Union field |
| Fields | |
|---|---|
releaseTime |
Output only. The timestamp of this release attempt. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
Union field result. The result of this release attempt. result can be only one of the following: |
|
compilationResult |
The name of the created compilation result, if one was successfully created. Must be in the format |
errorStatus |
The error status encountered upon this attempt to create the compilation result, if the attempt was unsuccessful. |
Status
| JSON representation |
|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
| Fields | |
|---|---|
code |
The status code, which should be an enum value of |
message |
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the |
details[] |
A list of messages that carry the error details. There is a common set of message types for APIs to use. An object containing fields of an arbitrary type. An additional field |
Any
| JSON representation |
|---|
{ "typeUrl": string, "value": string } |
| Fields | |
|---|---|
typeUrl |
Identifies the type of the serialized Protobuf message with a URI reference consisting of a prefix ending in a slash and the fully-qualified type name. Example: type.googleapis.com/google.protobuf.StringValue This string must contain at least one The prefix is arbitrary and Protobuf implementations are expected to simply strip off everything up to and including the last All type URL strings must be legal URI references with the additional restriction (for the text format) that the content of the reference must consist only of alphanumeric characters, percent-encoded escapes, and characters in the following set (not including the outer backticks): In the original design of |
value |
Holds a Protobuf serialization of the type described by type_url. A base64-encoded string. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos |
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
PipelineType
The type of the pipeline. This may be extended in the future. In case of UNSPECIFIED, the error will be thrown.
| Enums | |
|---|---|
PIPELINE_TYPE_UNSPECIFIED |
Default value. This value is unused. |
DATAFORM |
Regular Dataform pipeline. |
SQL |
SQL single file asset. |
NOTEBOOK |
Notebook single file asset. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌