diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 4d625b2f..0c6b0698 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.24.0" + ".": "1.25.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b9fbc6d..41991ea6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [1.25.0](https://github.com/googleapis/python-dialogflow-cx/compare/v1.24.0...v1.25.0) (2023-07-11) + + +### Features + +* **v3:** Added GitIntegrationSettings to the Agent ([#535](https://github.com/googleapis/python-dialogflow-cx/issues/535)) ([32b4a66](https://github.com/googleapis/python-dialogflow-cx/commit/32b4a668d5acd07b5f6f431e816fcfac9bb3053b)) + ## [1.24.0](https://github.com/googleapis/python-dialogflow-cx/compare/v1.23.1...v1.24.0) (2023-07-10) diff --git a/google/cloud/dialogflowcx/gapic_version.py b/google/cloud/dialogflowcx/gapic_version.py index 4659b0a1..085d0e2f 100644 --- a/google/cloud/dialogflowcx/gapic_version.py +++ b/google/cloud/dialogflowcx/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "1.24.0" # {x-release-please-version} +__version__ = "1.25.0" # {x-release-please-version} diff --git a/google/cloud/dialogflowcx_v3/gapic_version.py b/google/cloud/dialogflowcx_v3/gapic_version.py index 4659b0a1..085d0e2f 100644 --- a/google/cloud/dialogflowcx_v3/gapic_version.py +++ b/google/cloud/dialogflowcx_v3/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "1.24.0" # {x-release-please-version} +__version__ = "1.25.0" # {x-release-please-version} diff --git a/google/cloud/dialogflowcx_v3/services/test_cases/async_client.py b/google/cloud/dialogflowcx_v3/services/test_cases/async_client.py index f5181bf6..1fcd0ae7 100644 --- a/google/cloud/dialogflowcx_v3/services/test_cases/async_client.py +++ b/google/cloud/dialogflowcx_v3/services/test_cases/async_client.py @@ -1290,7 +1290,9 @@ async def list_test_case_results( timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListTestCaseResultsAsyncPager: - r"""Fetches a list of results for a given test case. + r"""Fetches the list of run results for the given test + case. A maximum of 100 results are kept for each test + case. .. code-block:: python diff --git a/google/cloud/dialogflowcx_v3/services/test_cases/client.py b/google/cloud/dialogflowcx_v3/services/test_cases/client.py index 3d3b0aef..44c11622 100644 --- a/google/cloud/dialogflowcx_v3/services/test_cases/client.py +++ b/google/cloud/dialogflowcx_v3/services/test_cases/client.py @@ -1726,7 +1726,9 @@ def list_test_case_results( timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListTestCaseResultsPager: - r"""Fetches a list of results for a given test case. + r"""Fetches the list of run results for the given test + case. A maximum of 100 results are kept for each test + case. .. code-block:: python diff --git a/google/cloud/dialogflowcx_v3/services/test_cases/transports/grpc.py b/google/cloud/dialogflowcx_v3/services/test_cases/transports/grpc.py index 793a8c50..d20f8b2e 100644 --- a/google/cloud/dialogflowcx_v3/services/test_cases/transports/grpc.py +++ b/google/cloud/dialogflowcx_v3/services/test_cases/transports/grpc.py @@ -567,7 +567,9 @@ def list_test_case_results( ]: r"""Return a callable for the list test case results method over gRPC. - Fetches a list of results for a given test case. + Fetches the list of run results for the given test + case. A maximum of 100 results are kept for each test + case. Returns: Callable[[~.ListTestCaseResultsRequest], diff --git a/google/cloud/dialogflowcx_v3/services/test_cases/transports/grpc_asyncio.py b/google/cloud/dialogflowcx_v3/services/test_cases/transports/grpc_asyncio.py index 1756a8c2..b4429c22 100644 --- a/google/cloud/dialogflowcx_v3/services/test_cases/transports/grpc_asyncio.py +++ b/google/cloud/dialogflowcx_v3/services/test_cases/transports/grpc_asyncio.py @@ -586,7 +586,9 @@ def list_test_case_results( ]: r"""Return a callable for the list test case results method over gRPC. - Fetches a list of results for a given test case. + Fetches the list of run results for the given test + case. A maximum of 100 results are kept for each test + case. Returns: Callable[[~.ListTestCaseResultsRequest], diff --git a/google/cloud/dialogflowcx_v3/types/agent.py b/google/cloud/dialogflowcx_v3/types/agent.py index 6acba817..82801e86 100644 --- a/google/cloud/dialogflowcx_v3/types/agent.py +++ b/google/cloud/dialogflowcx_v3/types/agent.py @@ -142,12 +142,75 @@ class Agent(proto.Message): agent. The settings exposed at the lower level overrides the settings exposed at the higher level. + git_integration_settings (google.cloud.dialogflowcx_v3.types.Agent.GitIntegrationSettings): + Git integration settings for this agent. text_to_speech_settings (google.cloud.dialogflowcx_v3.types.TextToSpeechSettings): Settings on instructing the speech synthesizer on how to generate the output audio content. """ + class GitIntegrationSettings(proto.Message): + r"""Settings for connecting to Git repository for an agent. + + .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields + + Attributes: + github_settings (google.cloud.dialogflowcx_v3.types.Agent.GitIntegrationSettings.GithubSettings): + GitHub settings. + + This field is a member of `oneof`_ ``git_settings``. + """ + + class GithubSettings(proto.Message): + r"""Settings of integration with GitHub. + + Attributes: + display_name (str): + The unique repository display name for the + GitHub repository. + repository_uri (str): + The GitHub repository URI related to the + agent. + tracking_branch (str): + The branch of GitHub repository tracked for + this agent. + access_token (str): + The access token used to authenticate the + access to the GitHub repository. + branches (MutableSequence[str]): + A list of branches configured to be used from + Dialogflow. + """ + + display_name: str = proto.Field( + proto.STRING, + number=1, + ) + repository_uri: str = proto.Field( + proto.STRING, + number=2, + ) + tracking_branch: str = proto.Field( + proto.STRING, + number=3, + ) + access_token: str = proto.Field( + proto.STRING, + number=4, + ) + branches: MutableSequence[str] = proto.RepeatedField( + proto.STRING, + number=5, + ) + + github_settings: "Agent.GitIntegrationSettings.GithubSettings" = proto.Field( + proto.MESSAGE, + number=1, + oneof="git_settings", + message="Agent.GitIntegrationSettings.GithubSettings", + ) + name: str = proto.Field( proto.STRING, number=1, @@ -206,6 +269,11 @@ class Agent(proto.Message): number=22, message=gcdc_advanced_settings.AdvancedSettings, ) + git_integration_settings: GitIntegrationSettings = proto.Field( + proto.MESSAGE, + number=30, + message=GitIntegrationSettings, + ) text_to_speech_settings: audio_config.TextToSpeechSettings = proto.Field( proto.MESSAGE, number=31, @@ -379,6 +447,9 @@ class ExportAgentRequest(proto.Message): Optional. Environment name. If not set, draft environment is assumed. Format: ``projects//locations//agents//environments/``. + git_destination (google.cloud.dialogflowcx_v3.types.ExportAgentRequest.GitDestination): + Optional. The Git branch to export the agent + to. include_bigquery_export_settings (bool): Optional. Whether to include BigQuery Export setting. @@ -400,6 +471,25 @@ class DataFormat(proto.Enum): BLOB = 1 JSON_PACKAGE = 4 + class GitDestination(proto.Message): + r"""Settings for exporting to a git branch. + + Attributes: + tracking_branch (str): + Tracking branch for the git push. + commit_message (str): + Commit message for the git push. + """ + + tracking_branch: str = proto.Field( + proto.STRING, + number=1, + ) + commit_message: str = proto.Field( + proto.STRING, + number=2, + ) + name: str = proto.Field( proto.STRING, number=1, @@ -417,6 +507,11 @@ class DataFormat(proto.Enum): proto.STRING, number=5, ) + git_destination: GitDestination = proto.Field( + proto.MESSAGE, + number=6, + message=GitDestination, + ) include_bigquery_export_settings: bool = proto.Field( proto.BOOL, number=7, @@ -442,7 +537,16 @@ class ExportAgentResponse(proto.Message): This field is a member of `oneof`_ ``agent``. agent_content (bytes): - Uncompressed raw byte content for agent. + Uncompressed raw byte content for agent. This field is + populated if none of ``agent_uri`` and ``git_destination`` + are specified in + [ExportAgentRequest][google.cloud.dialogflow.cx.v3.ExportAgentRequest]. + + This field is a member of `oneof`_ ``agent``. + commit_sha (str): + Commit SHA of the git push. This field is populated if + ``git_destination`` are specified in + [ExportAgentRequest][google.cloud.dialogflow.cx.v3.ExportAgentRequest]. This field is a member of `oneof`_ ``agent``. """ @@ -457,6 +561,11 @@ class ExportAgentResponse(proto.Message): number=2, oneof="agent", ) + commit_sha: str = proto.Field( + proto.STRING, + number=3, + oneof="agent", + ) class RestoreAgentRequest(proto.Message): @@ -490,6 +599,10 @@ class RestoreAgentRequest(proto.Message): agent_content (bytes): Uncompressed raw byte content for agent. + This field is a member of `oneof`_ ``agent``. + git_source (google.cloud.dialogflowcx_v3.types.RestoreAgentRequest.GitSource): + Setting for restoring from a git branch + This field is a member of `oneof`_ ``agent``. restore_option (google.cloud.dialogflowcx_v3.types.RestoreAgentRequest.RestoreOption): Agent restore mode. If not specified, ``KEEP`` is assumed. @@ -514,6 +627,19 @@ class RestoreOption(proto.Enum): KEEP = 1 FALLBACK = 2 + class GitSource(proto.Message): + r"""Settings for restoring from a git branch + + Attributes: + tracking_branch (str): + tracking branch for the git pull + """ + + tracking_branch: str = proto.Field( + proto.STRING, + number=1, + ) + name: str = proto.Field( proto.STRING, number=1, @@ -528,6 +654,12 @@ class RestoreOption(proto.Enum): number=3, oneof="agent", ) + git_source: GitSource = proto.Field( + proto.MESSAGE, + number=6, + oneof="agent", + message=GitSource, + ) restore_option: RestoreOption = proto.Field( proto.ENUM, number=5, diff --git a/google/cloud/dialogflowcx_v3/types/environment.py b/google/cloud/dialogflowcx_v3/types/environment.py index 27435ade..0dbe13fd 100644 --- a/google/cloud/dialogflowcx_v3/types/environment.py +++ b/google/cloud/dialogflowcx_v3/types/environment.py @@ -95,8 +95,9 @@ class VersionConfig(proto.Message): Attributes: version (str): Required. Format: projects//locations//agents//flows//versions/. + ID>/locations//agents//flows//versions/. """ version: str = proto.Field( diff --git a/google/cloud/dialogflowcx_v3/types/webhook.py b/google/cloud/dialogflowcx_v3/types/webhook.py index 49e52ece..5ab2748e 100644 --- a/google/cloud/dialogflowcx_v3/types/webhook.py +++ b/google/cloud/dialogflowcx_v3/types/webhook.py @@ -129,9 +129,9 @@ class GenericWebService(proto.Message): parameter_mapping (MutableMapping[str, str]): Optional. Maps the values extracted from specific fields of the flexible webhook response - into session parameters. - Key: session - parameter name - - Value: field path in the webhook response + into session parameters. + - Key: session parameter name + - Value: field path in the webhook response """ class WebhookType(proto.Enum): diff --git a/google/cloud/dialogflowcx_v3beta1/gapic_version.py b/google/cloud/dialogflowcx_v3beta1/gapic_version.py index 4659b0a1..085d0e2f 100644 --- a/google/cloud/dialogflowcx_v3beta1/gapic_version.py +++ b/google/cloud/dialogflowcx_v3beta1/gapic_version.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -__version__ = "1.24.0" # {x-release-please-version} +__version__ = "1.25.0" # {x-release-please-version} diff --git a/google/cloud/dialogflowcx_v3beta1/types/environment.py b/google/cloud/dialogflowcx_v3beta1/types/environment.py index 23e03d86..e21c6917 100644 --- a/google/cloud/dialogflowcx_v3beta1/types/environment.py +++ b/google/cloud/dialogflowcx_v3beta1/types/environment.py @@ -95,8 +95,9 @@ class VersionConfig(proto.Message): Attributes: version (str): Required. Format: projects//locations//agents//flows//versions/. + ID>/locations//agents//flows//versions/. """ version: str = proto.Field( diff --git a/google/cloud/dialogflowcx_v3beta1/types/webhook.py b/google/cloud/dialogflowcx_v3beta1/types/webhook.py index ed8e8979..3a03954c 100644 --- a/google/cloud/dialogflowcx_v3beta1/types/webhook.py +++ b/google/cloud/dialogflowcx_v3beta1/types/webhook.py @@ -129,8 +129,8 @@ class GenericWebService(proto.Message): parameter_mapping (MutableMapping[str, str]): Optional. Maps the values extracted from specific fields of the flexible webhook response - into session parameters. - Key: session - parameter name + into session parameters. + - Key: session parameter name - Value: field path in the webhook response """ diff --git a/samples/generated_samples/snippet_metadata_google.cloud.dialogflow.cx.v3.json b/samples/generated_samples/snippet_metadata_google.cloud.dialogflow.cx.v3.json index c8697d78..d9fdf052 100644 --- a/samples/generated_samples/snippet_metadata_google.cloud.dialogflow.cx.v3.json +++ b/samples/generated_samples/snippet_metadata_google.cloud.dialogflow.cx.v3.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-dialogflow-cx", - "version": "1.24.0" + "version": "1.25.0" }, "snippets": [ { diff --git a/samples/generated_samples/snippet_metadata_google.cloud.dialogflow.cx.v3beta1.json b/samples/generated_samples/snippet_metadata_google.cloud.dialogflow.cx.v3beta1.json index f1f246c7..b56dbfa1 100644 --- a/samples/generated_samples/snippet_metadata_google.cloud.dialogflow.cx.v3beta1.json +++ b/samples/generated_samples/snippet_metadata_google.cloud.dialogflow.cx.v3beta1.json @@ -8,7 +8,7 @@ ], "language": "PYTHON", "name": "google-cloud-dialogflow-cx", - "version": "1.24.0" + "version": "1.25.0" }, "snippets": [ { diff --git a/scripts/fixup_dialogflowcx_v3_keywords.py b/scripts/fixup_dialogflowcx_v3_keywords.py index d56d4860..d9b1f220 100644 --- a/scripts/fixup_dialogflowcx_v3_keywords.py +++ b/scripts/fixup_dialogflowcx_v3_keywords.py @@ -70,7 +70,7 @@ class dialogflowcxCallTransformer(cst.CSTTransformer): 'delete_webhook': ('name', 'force', ), 'deploy_flow': ('environment', 'flow_version', ), 'detect_intent': ('session', 'query_input', 'query_params', 'output_audio_config', ), - 'export_agent': ('name', 'agent_uri', 'data_format', 'environment', 'include_bigquery_export_settings', ), + 'export_agent': ('name', 'agent_uri', 'data_format', 'environment', 'git_destination', 'include_bigquery_export_settings', ), 'export_flow': ('name', 'flow_uri', 'include_referenced_flows', ), 'export_test_cases': ('parent', 'gcs_uri', 'data_format', 'filter', ), 'fulfill_intent': ('match_intent_request', 'match', 'output_audio_config', ), @@ -114,7 +114,7 @@ class dialogflowcxCallTransformer(cst.CSTTransformer): 'load_version': ('name', 'allow_override_agent_resources', ), 'lookup_environment_history': ('name', 'page_size', 'page_token', ), 'match_intent': ('session', 'query_input', 'query_params', 'persist_parameter_changes', ), - 'restore_agent': ('name', 'agent_uri', 'agent_content', 'restore_option', ), + 'restore_agent': ('name', 'agent_uri', 'agent_content', 'git_source', 'restore_option', ), 'run_continuous_test': ('environment', ), 'run_test_case': ('name', 'environment', ), 'start_experiment': ('name', ), diff --git a/tests/unit/gapic/dialogflowcx_v3/test_agents.py b/tests/unit/gapic/dialogflowcx_v3/test_agents.py index 9315045e..ba2dc803 100644 --- a/tests/unit/gapic/dialogflowcx_v3/test_agents.py +++ b/tests/unit/gapic/dialogflowcx_v3/test_agents.py @@ -3490,6 +3490,15 @@ def test_create_agent_rest(request_type): "enable_interaction_logging": True, }, }, + "git_integration_settings": { + "github_settings": { + "display_name": "display_name_value", + "repository_uri": "repository_uri_value", + "tracking_branch": "tracking_branch_value", + "access_token": "access_token_value", + "branches": ["branches_value1", "branches_value2"], + } + }, "text_to_speech_settings": {"synthesize_speech_configs": {}}, } request = request_type(**request_init) @@ -3716,6 +3725,15 @@ def test_create_agent_rest_bad_request( "enable_interaction_logging": True, }, }, + "git_integration_settings": { + "github_settings": { + "display_name": "display_name_value", + "repository_uri": "repository_uri_value", + "tracking_branch": "tracking_branch_value", + "access_token": "access_token_value", + "branches": ["branches_value1", "branches_value2"], + } + }, "text_to_speech_settings": {"synthesize_speech_configs": {}}, } request = request_type(**request_init) @@ -3836,6 +3854,15 @@ def test_update_agent_rest(request_type): "enable_interaction_logging": True, }, }, + "git_integration_settings": { + "github_settings": { + "display_name": "display_name_value", + "repository_uri": "repository_uri_value", + "tracking_branch": "tracking_branch_value", + "access_token": "access_token_value", + "branches": ["branches_value1", "branches_value2"], + } + }, "text_to_speech_settings": {"synthesize_speech_configs": {}}, } request = request_type(**request_init) @@ -4053,6 +4080,15 @@ def test_update_agent_rest_bad_request( "enable_interaction_logging": True, }, }, + "git_integration_settings": { + "github_settings": { + "display_name": "display_name_value", + "repository_uri": "repository_uri_value", + "tracking_branch": "tracking_branch_value", + "access_token": "access_token_value", + "branches": ["branches_value1", "branches_value2"], + } + }, "text_to_speech_settings": {"synthesize_speech_configs": {}}, } request = request_type(**request_init)