Wednesday, January 24, 2018

How to Add TFS Stories Programmatically Through a URL

You can add TFS stories and features through a browser's URL.  This complements the Template process and is simpler than the real API which should be used for real work.

Here's an example URL to create a task, assign it to person, and enter a description:

This looks like garbage because it is html encoded.  Plain text, courtesy of  would be:[System.AssignedTo]=Wiley+Coyote&[System.Description]=Example+Description+Text. has a quick hex code guide.

This will create a task, but not save it.

Here is a non-trivial example, unescaped, and put on multiple lines for clarity: Story?[System.AssignedTo]=Wiley+Coyote
&[Microsoft.VSTS.Common.AcceptanceCriteria]=The Roadrunner is captured.
&[System.Title]=Giant Mouse Trap to Catch Roadrunner
&[System.Description]=Order giant mouse trap
Place bird seed in trap
wait for roadrunner to get caught

The tricky part is finding the names of the element you want to add.  Fortunately, you can get a Visual Studio plugin which will allow you to see the standard element names and your companies custom names.

You can download the TFS Process Template Editor here.
It will install into VS2017 under the Tools menu.  Select the Process Editor and the "Work Item Field Explorer".

This will display a list of the field names including your custom defined ones:

This method works will for small tasks, but for larger tasks, use the API.

Wednesday, January 10, 2018

Free Online Image to Text Converter

Today I needed to convert a picture of a spreadsheet to an actual spreadsheet.
I used and it worked great!
They support output in Text, Microsoft Word, and Microsoft Excel.
I selected 'Text' for the OCR, then imported the text into Excel. 
Directly importing an Excel spreadsheet from the web is a little scary,

Proxy Blocking Abot Spider on Windows

I like Abot Web Crawler. It's written in C# and easy to use. Abot will crawl a website so you can get a site map for analysis. Our company's proxy blocks Abot from working. The solution is simple for windows, just set the HTTP_PROXY environmental variable like this,
set HTTP_PROXY=http://proxy_userid:proxy_password@proxy_addr:proxy_port
For example:
Also also need to set the proxy for HTTPS_PROXY. Then you can run the spider:
cd c:\Git\Abot\abot-master\Abot.Demo\bin\Debug
Abot.Demo.exe > cnn.txt