IPersistenceBookmarks ValidationError When I write to UiPath Queue from Studio - uipath

I am writing my first UiPath Queue producer but when I run my RPA app from within Studio I hit the IPersistenceBookmarks ValidationException.
This is a simple project and I don’t have any bookmarks. Not even sure what a bookmark is. Any idea on how to fix this issue when I try to write to a UiPath queue?

This is a relatively common error when people are putting together their first UiPath Orchestrator Queue processing program.
The UiPath Orchestration Template
When you work with Queues, you must create your UiPath project using the Orchestration Template, not the Blank Project used for so many other RPA scripts. The UiPath Orchestration Template has all of the required facilities built into it for reading UiPath Queues, adding UiPath Queue items and deleting items from the queue as well.
Use the Orchestrator template and your project will be published to UiPath Orchestrator in no time.

Related

How to set up reminders to complete tasks in VSTS

Is anyone able to suggest the best way to set up a recurring reminder within a VSTS (Visual Studio Team Services) project? I want it to act like an Outlook Calendar recurring reminder that the whole team gets once per week.
I've looked at creating a Story / Epic / Feature and trying to assign a recurring team reminder to that but can't see a way to do it. The task concerned would be ongoing so in an ideal world of someone new to VSTS, I'd create one of the aforementioned things, set a recurring reminder on it, the team do the task when the reminder comes up and add a note. And that continues until we switch it off.
I've had a look online but can't find anything as yet.
The best thing that comes close is a dashboard widget that uses #me in its query.
VSTS doesn't have a scheduled reminder or alert system.
You can probably cobble something together using the REST API and a scheduled build. Calling a work item query and sending email is pretty easy from PowerShell.
As jessehouwing said that you can do it through Scheduled build, there are some extensions related to email in VSTS marketplace, such as Send Email.
On the other hand, there is Outlook add-in extension: TeamCompanion For Outlook.

Does Visual Studio Publish to Azure Website Cause Whole Site to Recycle?

We've recently launched a new website in Azure (i.e. Azure Websites) and as is typical with new launches we've had to deploy a few tweaks to fix minor issues shortly after launch.
We want to use Slots in the long run but this is not possible at the moment. Hence we are deploying to the live site. It's a fairly busy site with a good amount of traffic and obviously want to keep downtime to am minimum.
We are using Visual Studio to publish file changes to Azure but have noticed that even if we publish a relatively insignificant single file the whole site goes down and struggles to come back up. I was assuming that publishing a single file would literally just replace that file on the file system but it's behaving more like it recycles the application pool (or Azure equivalent) for the site. The type of files I've been publishing have been Razor views, hence would not typically cause a recycle.
Does anyone know what actually happens under the hood of VS Publish and if there is a way to avoid this happening?
Thanks.
I just tried this using a basically clean new MVC app (https://github.com/KuduApps/Dev14_Net46_Mvc5), and I did not see this behavior. The Index.html view has a hit count based on a static, which would tell us if the app or the page got restarted (or if that specific page got recompiled).
Then the test is to publish it, make a change to some other view (about.cshtml), and publish again. WHen doing this and hitting Index.cshtml, the count keeps going up, and there is minimal slowdown.
If you see it getting restarted after a view change, I suggest using Kudu Console to look at the files in site\wwwroot before/after the publish, and check what has a newer timestamp (e.g. check web.config, bin folder, ...).

how to create sub task in Visual Studio Team Services API

I'm trying to create a sub-task of a User Story, in Visual Studio Team Services, from my Mob App. How can I make it the right way? Whether I should use query or is there any direct endpoint for adding a subtask...?
You use the same so that added the user story to add a task. Then you add a link from the team to its parent.
https://www.visualstudio.com/integrate/api/wit/work-items#addalink
The doc above does how to create a task with a link using the REST API.

How can I hook into a check-in event using Event Service?

This is a follow up question from Team Foundation Server: Getting the Changeset Id from PolicyBase object
I would like to run some code when I check-in occurs. The answer in the linked question above pointed me at this page on MSDN.
I didn't fully understand the explanation on the page and I'm not sure where the check-in event handler would be run.
Should this be in an application that is run on every client machine or is this something that needs to be run on the actual TFS server?
I need to make sure the check-in event handler code is run for every check-in regardless of which client made the check-in.
I tried downloading the sample code available on that Microsoft page but it does not work.
I can connect to the TFS Server. When I click on the "Get List of Registered Events" button, the left hand list box populates with 13 items all with the name
Microsoft.TeamFoundation.Server.RegistrationEntry
As soon as I click on one of the items, I get a TypeLoadException with the message
Could not load type 'Microsoft.TeamFoundation.Server.Subscription' from assembly 'Microsoft.TeamFoundation, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
(Strangely it seems like this is referencing the VS2010 version of the assembly even though it is the VS2008 version that I have linked to the project).
What am I doing wrong here?
Library References
I always found it a pain to try use the TFS2008 libraries instead of the 2010 ones once they were installed. You may be able to change the reference to use a specific version of the DLL, however there shouldn't be any hard using the TFS2010 ones instead as they are backwards compatible.
Event Subscriptions
For TFS2010 it's easiest to drop a custom DLL in c:\Program Files\Microsoft Team Foundation Server 2010\Application Tier\Web Services\bin\Plugins these are fairly simple to write and just involve implementing ISubscriber for CheckinNotification.
Example Code
http://embeddedworkitems.codeplex.com/SourceControl/changeset/view/2611#97271
For TFS2008, or if you like in TFS2010, you need to use the SOAP webservices (or the bisubscribe.exe tool) to subscribe to events and have a webservice yourself for tfs to push events to. This is a much harder way to subscribe to events so if you can use the Plugin method instead I would recommend it (Although it can be more robust and is better for load distribution).
VSTS Subscription FAQ http://blogs.msdn.com/b/narend/archive/2006/07/27/679571.aspx
Subscribing without a Client SOAP Service http://blogs.msdn.com/b/mrod/archive/2006/09/18/761174.aspx
TFS Deployer is a open source project that runs as a windows service and receives event notifications via the SOAP service. It contains a library (which may be reusable) that appears to have some code in it for receiving checkin events
http://tfsdeployer.codeplex.com/SourceControl/changeset/view/57852#2395
Using subscriptions you only need one copy of the application picking up events and handling them, it can be on the TFS server (has to be if you are using the plugin method) but can be on another machine when using SOAP subscriptions.
Check-in Policies an Alternative Answer?
Depending on exactly what you're coding, you may be able to write a check-in policy instead. This needs to be installed on all client machines and won't be supported by all the different clients (eg eclipse) but it may suit your needs. The example I gave earlier of the tool to support embedded workitem codes in checkin comments also comes with a check-in policy to perform other checks
http://embeddedworkitems.codeplex.com/SourceControl/changeset/view/2611#97267

Debug single role instance with Azure Compute emulator

I'm building an application which will be run on Azure. My Visual Studio solution contains multiple Azure role projects. When debugging locally, I use the Azure compute emulator.
To start debugging, I follow these steps:
I right-click on my Azure project and click Set as start up project.
I press F5 to start the debugger.
What happens now is that the emulator/vs2010 launches both my web roles and worker roles, even if I'm only interested in debugging a single worker role at the moment. Often when writing some background-processing code in my worker role, I'm interested to step through that code without starting the web role, launch Internet Explorer and so on as well.
Is there a convinient way to make the debugger only launch one of the role instances and not all of them?
I'm thinking of creating a separate project in my solution of type Console Application, where I load the same assemblies as in my worker role and execute the same code.
The emulator (similar to Azure itself) works just on the concept of a "Cloud Service". So when you launch w/ debug, its going to launch whatever is defined in your Cloud Service (.ccproj) project. This mimics Azure 100% which is why it occur, but I can definitely see where your scenario would be helpful.
Few options, based on your needs.
If you need to test azure-specifics (aka it has to run in the emulator)
Create a second solution file, create a new Cloud service in here, add your project. I like this option because the projects/roles themselves remain untouched.
What Stuart suggested before me, create a second Cloud Project, set as startup, run that.
Similar to above, create a second project, but don't worry about startup. You can right click on any project, go to Debug and select start w/ debugging and achieve what F5 does without binding F5 to this solution
If you dont need to test azure-specifics (ie you are just testing the role)
Right click on the role's project, Debug, Start with Debugging This way the whole solution remains intact and you are just testing the logic
I think you can do this by:
create a new Azure Cloud Project within your solution
add just the one worker role to that cloud project
set that cloud project as your startup project
This will single out just the worker you are interested in
An easier solution would be to open the ServiceConfiguration.cscfg file, and set the "Instances > Count" property to "0", for all the roles that you don't want running (this only works in the compute-emulator, and NOT on the azure cloud).
That way, you keep your solution intact and your configurations safe, while just omitting them from the compute-emulator during run-time.

Resources