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