How to Fetch Active Versions for Releases

How to get all active versions for a release?

There are 2 ways to fetch active versions for releases:
Approach 1:  Using Orchestrator API

To get list of Processes

Module : Processes, Method : /OData/Processes

Input parameter : Optional

Example:

API Input:

API Output:

To get all active/In active versions for an release

Module : Processes, Method : /odata/Processes/UiPath.Server.Configuration.OData.GetProcessVersions(processId='{processId}')

Input parameter : ProcessId – value of Id from output of “To get list of Processes”

Example:

API Input:

API Output:

From above output, if we filter based on “IsActive” :true, then it will list down all active versions. If it is filtered based on “IsActive”: false, then it will provide all inactive versions.

Image: From Orchestrator:


Approach 2. Using Database Query
select
[Tenants].Name as [Tenant Name],
[Environments].Name as [Environment Name],
[Robots].Name as [Robot Name],
[Releases].Name as [Process Name],
[ReleaseVersions].VersionNumber
from
    (select max(id) as ID
    from [dbo].[ReleaseVersions] rv
    group by [ReleaseId]
    ) v
join [dbo].[ReleaseVersions] on v.id = [ReleaseVersions].id
join [dbo].[Releases] on [Releases].ID = [ReleaseVersions].ReleaseId
join [dbo].[Environments] on [Environments].ID = [Releases].EnvironmentId
Join [dbo].[RobotsXEnvironments] on [RobotsXEnvironments].EnvironmentId = [Environments].ID
join [dbo].[Robots] on [Robots].ID = [RobotsXEnvironments].RobotId
join [dbo].[Tenants] on [Robots].TenantId = [Tenants].Id
where [ReleaseVersions].IsDeleted = 0