diff --git a/packages/uipath-platform/pyproject.toml b/packages/uipath-platform/pyproject.toml index c3e51954e..512c3a940 100644 --- a/packages/uipath-platform/pyproject.toml +++ b/packages/uipath-platform/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "uipath-platform" -version = "0.2.41" +version = "0.2.42" description = "HTTP client library for programmatic access to UiPath Platform" readme = { file = "README.md", content-type = "text/markdown" } requires-python = ">=3.11" diff --git a/packages/uipath-platform/src/uipath/platform/action_center/_tasks_service.py b/packages/uipath-platform/src/uipath/platform/action_center/_tasks_service.py index 36e2a012e..7032c4249 100644 --- a/packages/uipath-platform/src/uipath/platform/action_center/_tasks_service.py +++ b/packages/uipath-platform/src/uipath/platform/action_center/_tasks_service.py @@ -274,6 +274,7 @@ def _create_quickform_spec( is_actionable_message_enabled: Optional[bool] = None, actionable_message_metadata: Optional[Dict[str, Any]] = None, source_name: str = "Agent", + task_source_metadata: Optional[Dict[str, Any]] = None, ) -> RequestSpec: """Build the RequestSpec for Orchestrator's GenericTasks/CreateTask endpoint. @@ -304,7 +305,7 @@ def _create_quickform_spec( ) if actionable_message_metadata is not None: json_payload["actionableMessageMetaData"] = actionable_message_metadata - _apply_task_source(json_payload, source_name) + _apply_task_source(json_payload, source_name, custom_metadata=task_source_metadata) return RequestSpec( method="POST", @@ -704,6 +705,7 @@ async def create_quickform_async( actionable_message_metadata: Optional[Dict[str, Any]] = None, creator_job_key: Optional[str] = None, source_name: str = "Agent", + task_source_metadata: Optional[Dict[str, Any]] = None, ) -> Task: """Creates a new QuickForm task asynchronously. @@ -737,6 +739,8 @@ async def create_quickform_async( creator_job_key: Optional. Identifies the job that triggered the inline schema creation/upsert. source_name: Source name on TaskSource. Defaults to 'Agent'. + task_source_metadata: Optional extra keys merged into + taskSource.taskSourceMetadata, same as in `create_async()`. Returns: Task: The created task object. @@ -754,6 +758,7 @@ async def create_quickform_async( is_actionable_message_enabled=is_actionable_message_enabled, actionable_message_metadata=actionable_message_metadata, source_name=source_name, + task_source_metadata=task_source_metadata, ) response = await self.request_async( diff --git a/packages/uipath-platform/tests/services/test_actions_service.py b/packages/uipath-platform/tests/services/test_actions_service.py index c70f2557f..63538cf99 100644 --- a/packages/uipath-platform/tests/services/test_actions_service.py +++ b/packages/uipath-platform/tests/services/test_actions_service.py @@ -1071,6 +1071,18 @@ async def test_create_async_merges_task_source_metadata( assert task_source_metadata["InstanceId"] == "trace-1" +async def test_create_quickform_async_merges_task_source_metadata( + qf_runner_async: Any, jit_debug_env: None +) -> None: + _, body = await qf_runner_async( + task_source_metadata={"ParentSpanId": "a3c27222815e80ca"} + ) + + task_source_metadata = body["taskSource"]["taskSourceMetadata"] + assert task_source_metadata["ParentSpanId"] == "a3c27222815e80ca" + assert task_source_metadata["InstanceId"] == "trace-1" + + def test_create_omits_extra_task_source_metadata_when_unset( httpx_mock: HTTPXMock, service: TasksService, diff --git a/packages/uipath-platform/uv.lock b/packages/uipath-platform/uv.lock index 5c59bdb8e..3ef58613d 100644 --- a/packages/uipath-platform/uv.lock +++ b/packages/uipath-platform/uv.lock @@ -1095,7 +1095,7 @@ dev = [ [[package]] name = "uipath-platform" -version = "0.2.41" +version = "0.2.42" source = { editable = "." } dependencies = [ { name = "anyio" }, diff --git a/packages/uipath/uv.lock b/packages/uipath/uv.lock index 3e9313fca..55f3be357 100644 --- a/packages/uipath/uv.lock +++ b/packages/uipath/uv.lock @@ -2762,7 +2762,7 @@ wheels = [ [[package]] name = "uipath-platform" -version = "0.2.41" +version = "0.2.42" source = { editable = "../uipath-platform" } dependencies = [ { name = "anyio" },