|
14 | 14 | from opentelemetry.sdk.trace import TracerProvider |
15 | 15 | from opentelemetry.sdk.trace.export import BatchSpanProcessor |
16 | 16 | from pysignalr.client import CompletionMessage, SignalRClient |
17 | | -from uipath import UiPath |
18 | 17 | from uipath._cli._runtime._contracts import ( |
19 | 18 | UiPathBaseRuntime, |
20 | 19 | UiPathErrorCategory, |
|
26 | 25 | from ._context import UiPathMcpRuntimeContext, UiPathServerType |
27 | 26 | from ._exception import UiPathMcpRuntimeError |
28 | 27 | from ._session import SessionServer |
| 28 | +from uipath import UiPath |
29 | 29 |
|
30 | 30 | logger = logging.getLogger(__name__) |
31 | 31 | tracer = trace.get_tracer(__name__) |
@@ -274,13 +274,18 @@ async def _register(self) -> None: |
274 | 274 | """Register the MCP server with UiPath.""" |
275 | 275 |
|
276 | 276 | folder_key = os.environ.get("UIPATH_FOLDER_KEY") |
277 | | - if not folder_key: |
| 277 | + folder_path = os.environ.get("UIPATH_FOLDER_PATH") |
| 278 | + if not folder_key and not folder_path: |
278 | 279 | raise UiPathMcpRuntimeError( |
279 | 280 | "REGISTRATION_ERROR", |
280 | | - "No UIPATH_FOLDER_KEY environment variable set.", |
281 | | - "Please set the UIPATH_FOLDER_KEY environment variable.", |
| 281 | + "No UIPATH_FOLDER_PATH or UIPATH_FOLDER_KEY environment variable set.", |
| 282 | + "Please set the UIPATH_FOLDER_PATH or UIPATH_FOLDER_KEY environment variable.", |
282 | 283 | UiPathErrorCategory.USER, |
283 | 284 | ) |
| 285 | + if not folder_key: |
| 286 | + uipath = UiPath() |
| 287 | + folder_key = uipath.folders.retrieve_key(folder_path=folder_path) |
| 288 | + |
284 | 289 | logger.info(f"Folder key: {folder_key}") |
285 | 290 |
|
286 | 291 | initialization_successful = False |
|
0 commit comments