Yash.Orchestrator
25.8.8
dotnet add package Yash.Orchestrator --version 25.8.8
NuGet\Install-Package Yash.Orchestrator -Version 25.8.8
<PackageReference Include="Yash.Orchestrator" Version="25.8.8" />
<PackageVersion Include="Yash.Orchestrator" Version="25.8.8" />
<PackageReference Include="Yash.Orchestrator" />
paket add Yash.Orchestrator --version 25.8.8
#r "nuget: Yash.Orchestrator, 25.8.8"
#:package Yash.Orchestrator@25.8.8
#addin nuget:?package=Yash.Orchestrator&version=25.8.8
#tool nuget:?package=Yash.Orchestrator&version=25.8.8
Yash.Orchestrator
A utility library for interacting with UiPath Cloud Orchestrator APIs. Provides a reusable OrchestratorService
class that simplifies access to folders, assets, storage buckets, and files — with support for both direct credential and Studio-integrated token authentication.
🚀 Getting Started
- Add the
Yash.Orchestrator
NuGet package as a dependency in your UiPath plugin or library project. - Create an instance of
OrchestratorService
using either client credentials or anIAccessProvider
. - Call
InitializeAsync()
to populate folders, assets, buckets, and bucket files. - Use the service to read, inspect, or download resources in a structured and token-aware manner.
🛠️ Core Class: OrchestratorService
The OrchestratorService
class is the main entry point. It provides high-level, folder-aware access to UiPath Cloud resources with built-in refresh and download methods.
var service = new OrchestratorService("https://cloud.uipath.com/org/account", "clientId", "secret", log);
await service.InitializeAsync();
foreach (var (folder, assets) in service.Assets)
{
Console.WriteLine($"{folder.DisplayName} has {assets.Count} assets");
}
🧙♂️ Features
🔐 Token authentication via:
- Client credentials (client ID + secret)
IAccessProvider
(from Studio integration context)
🗂️ Folder-aware access to:
- Assets
- Buckets
- Bucket Files
🔁 Refresh methods to update all collections dynamically
🪝 Logs events using
TraceEventType
and customizable log actions📦 File downloads via signed URI
⚙️ Public Properties
Property | Type | Description |
---|---|---|
BaseURL |
string? |
Base URL for Orchestrator API |
Token |
string |
OAuth2 access token |
Folders |
ObservableCollection<Folder> |
List of accessible folders |
Assets |
ObservableCollection<KeyValuePair<Folder, ObservableCollection<Asset>>> |
Map of folder → assets |
Buckets |
ObservableCollection<KeyValuePair<Folder, ObservableCollection<Bucket>>> |
Map of folder → buckets |
BucketFiles |
ObservableCollection<KeyValuePair<Bucket, ObservableCollection<BucketFile>>> |
Map of bucket → files |
🔁 Methods
Method | Description |
---|---|
InitializeAsync() |
Initializes and refreshes all data |
UpdateTokenAsync(force) |
Updates the token using either credentials or provider |
RefreshFoldersAsync() |
Fetches all available folders |
RefreshAssetsAsync() |
Fetches assets scoped to each folder |
RefreshBucketsAsync() |
Fetches storage buckets per folder |
RefreshBucketFilesAsync() |
Fetches files in each bucket |
DownloadBucketFile() |
Downloads a file from storage buckets using a signed URI |
📦 Downloading Files
await service.DownloadBucketFile(bucket, bucketFile, "C:\\Downloads\\MyFile.csv");
This method:
- Fetches a signed download URI from the Orchestrator API
- Downloads the file using a
GET
request - Saves the file to the given path, creating directories if necessary
🧠 Authentication
Supports two authentication modes:
Mode | Details |
---|---|
Client Credentials | Provide BaseURL , ClientId , and ClientSecret |
IAccessProvider | Provide an implementation via UiPath Studio plugin context |
📚 Dependencies
RestSharp
: HTTP communicationNewtonsoft.Json
: JSON deserializationUiPath.Activities.Api
: Optional for Studio plugin integration
📖 License
This project is licensed under the MIT License.
🔗 Links
- GitHub Repository: https://github.com/yashbrahmbhatt/Yash.Orchestrator
- NuGet Package: https://www.nuget.org/packages/Yash.Orchestrator
Built and maintained by Yash Brahmbhatt
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0-windows7.0 is compatible. net7.0-windows was computed. net8.0-windows was computed. net9.0-windows was computed. net10.0-windows was computed. |
-
net6.0-windows7.0
- Microsoft.CodeAnalysis.Common (>= 4.5.0-2.22527.10)
- Microsoft.CodeAnalysis.CSharp (>= 4.5.0-2.22527.10)
- Microsoft.CodeAnalysis.CSharp.Scripting (>= 4.5.0-2.22527.10)
- Newtonsoft.Json (>= 13.0.3)
- RestSharp (>= 112.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Yash.Orchestrator:
Package | Downloads |
---|---|
Yash.Config
Configuration management and wizard utilities for UiPath. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial release with support for folders, assets, buckets, and file download.