cancel
Showing results for 
Search instead for 
Did you mean: 

Blue Prism API - community feedback

Walter.Koller
Level 11
Hello,

Blue Prism contacted me in regards of my proposed idea to expose API of Blue Prism as a chance to control Blue Prism itself.
Idea: Blue Prism API

They asked me to provide use-cases to help to shape the implementation of this idea according on what the users (use, the community) wants and needs.
I am to humble to speak for the whole community but I kindly ask you to provide your feedback, use-cases and thoughts about this feature and what should be made available to use, here in this thread.

Please feel free to add your use-cases as comment or as attachment.

Many thanks in advance

------------------------------
Walter Koller
Solution Manager
Erste Group IT International GmbH
Europe/Vienna
------------------------------
9 REPLIES 9

JerinJose
Level 10
​API actions can consist of
1.Create,delete,update ,retire/unretire schedules
2.Update active queue controller
3.Trigger published process to target resources
4.Request Stop/immediate stop for sessions running on resources
5.Get names of resources that are sitting idle

------------------------------
Jerin Jose
RPA Product SME
EY
Asia/Kolkata
------------------------------

david.l.morris
Level 14
Are we talking about extra CLI commands or would BP give us a DLL to use or what? If it's an entirely new API feature, then my answer would be very different from if it's a question about adding more CLI commands.

------------------------------
Dave Morris
3Ci @ Southern Company
Atlanta, GA
------------------------------
Dave Morris 3Ci at Southern Company Atlanta, GA

The idea is to have the object model exposed to be used in .Net, similar to eg Office (ie make DLL available). This can then be used in a code based VBO, like in Excel VBO. The advantage is to have a well defined interface to interact with and obtain information from Blue Prism, and enabling / customizing features and functions of Blue Prism according to your needs. 

Some examples that come to my mind are:
  • management of users, roles and permission
    • reading users, roles and permissions, effective rights on folders, resources, ... and manipulation of those
    • enabling to verify and apply rights according to rules/templates; migration of users between environments; 
  •  management of connections
    • creation and reading of connection details
    • enabling remote maintenance, usage of existing connection configuration to submit SQL to query repository (if needed), deleting connections (only possible manually currently afaik)
  • process and object maintenance
    • reading stage and action definitions, process flow, meta data; internal code verification function; reading dependencies 
    • enabling code review directly in BP (not in exported XML); change tracking (what was changed in last 1d/1w, ..); applying standardized information (when creating a release all included item's description get release/version/date in their description)
There seem to be endless possibilities. But of course everyone has its own ideas and needs he wants to solve 🙂


------------------------------
Walter Koller
Solution Manager
Erste Group IT International GmbH
Europe/Vienna
------------------------------

Hi,

wouldn't it be better to have this outside of Blue Prism like i.e. REST API call? Then it does not consume your BP license whereas what you suggest in your last post it would still consume BP License which I find undesirable. I agree with the areas which you described but I would definitely add what Jerin Jose wrote and on top of it identifying which resources are are busy, also stopping queues to drive "prioritization" could be additional examples.

------------------------------
Zdeněk Kabátek
Head of Professional Services
NEOOPS
Europe/Prague
------------------------------

I don't see where Walter suggested it would consume a BP license. I think we all agree with you that the solution should not but it also likely would not consume a license. It would be similar to the CLI commands that currently exist and those do not consume a BP license.

The only time it might consume a license is if a Blue Prism session were to call on this API to get information, but in that case it's the Blue Prism session that is consuming the license because an automation is running, not because it is calling the API.

------------------------------
Dave Morris
3Ci @ Southern Company
Atlanta, GA
------------------------------
Dave Morris 3Ci at Southern Company Atlanta, GA

I personally would like to see all functionality replicated in that API that might be required to manage an environment or series of environments. This would include code promotion/source control/deployment, resource management, permission configuration, etc.

I assume that an exposed API like this would be better because we wouldn't be running AutomateC.exe, which I guess would mean it's not spinning up a separate process to run the command but instead calling on a running instance of Blue Prism? Because I have to say that this sounds really awesome. I've run a lot of commands from PowerShell and it's painfully slow. For example, updating environment variables typically takes maybe 0.5 seconds to 1 second each to update through the AutomateC CLI commands, which is painful if you have a lot to update. The same seems to be the case for other activities so it's hard to do bulk operations. I know that some things can be done directly through the database, but that's not a good idea.

I would definitely suggest that all of the existing CLI commands and the Resource PC commands should be recreated in the API. On top of that, I think you mentioned things like this, but we need to be able to retrieve the currently running process's name & ID, the name of the schedule it is currently running under if it is a scheduled run, etc.

I would also like to see the ability to get a list of all the sessions along with the associated data fields such as session ID, session number, and then the different datetime fields for the session. Then I would like to be able to retrieve info using the session ID such as the latest stage, the last n minutes of the session log, the session variables and be able to manipulate them. A lot of this stuff can currently be done through CLI commands. I'm just pointing out what would matter to me most.

------------------------------
Dave Morris
3Ci @ Southern Company
Atlanta, GA
------------------------------
Dave Morris 3Ci at Southern Company Atlanta, GA

Managing users and roles should provide bulk operations like reading out all permissions of a specific role at once (eg one collection) and maybe reading all user roles with all permissions (nested collection).

Additionally API for Studio structure (groups/folders) would be nice:
  • Read/create/modify sub-/folder
  • Copy/moving sub-folder to new location
  • Read/write/modify user role assignment to sub-/folders

[edit]
System Tab, User Management:
  • read/create/modfiy sub-/folder
  • assign/remove users to folder
  • copy/move sub-folder to new location
  • read user details (user id, real name, mail address(?))

[edit]
Control, resource management
  • read/create/modify sub-/folder
  • assign/remove resources to folder
  • read resource status (similar as shown in Control)
  • read schedule / process execution (historic and upcoming) (for specific resource)
    • tasks (process & resource), start parameter, status, exception
  • start schedule / process with parameter
  • read/create/modify user role assignments to sub-folder

TracyGreen
Level 4
Right now, my immediate need is the ability to delete a pending process on a resource.  I have issues with pending processes being "stranded." This usually happens when the resource is occupied with another process when the schedule comes up for the stranded process.  When the resource finishes up its current process, it doesn't activate the pending process and nothing else can start due to the pending process out there.  This effectively means nothing else can be done on that resource.  This is a killer on the weekend.

I'd like to set up a scheduled job to look for pending processes out there more than a few minutes and delete them.  This would be easy and quick to accomplish with an API.  It's much more difficult (at least for me) to do with CLI.

------------------------------
Tracy Green
Systems Developer III
Federated Insurance
America/Chicago
------------------------------

Hi Tracy,
We do have a VBO that may be of use.  You should see it in the link below.  I hope this helps.  If you have any issues, please submit a ticket and direct to David Dinh.

https://community.blueprism.com/communities/community-home/digestviewer/viewthread?GroupId=385&MessageKey=b6655a79-44a7-4d8f-b997-6034e29889b1&CommunityKey=1e516cfe-4d1f-4de9-a9eb-58d15bf38c81&tab=dig....

Thanks,

David



------------------------------
David Dinh
Software Support Engineer
Blue Prism
America/Chicago
------------------------------