In a recent post, I quickly outlined the things you will need to write your own Integration Pack. One of the glaring omissions from that post is the testing process, so today I will talk a little bit about testing.
In order to build the IP, you will need the Integration Toolkit as this is the puppy that compiles the C# code bits and supporting files into a single OIP file. But you will need this tool long before you even get to that step.
When you install the Integration toolkit, an integration pack is also extracted as part of the installation. This integration may be used for testing your IP code before you compile it – and can save you many, many headaches.
It is located in the IP installation folder, which is typically here:
:\Program Files (x86)\Microsoft System Center 2012\Orchestrator\Integration Toolkit\Integration Packs
Import this IP as you would with any IP and deploy to your runbook designer(s). Now, you should have the Integration Toolkit category visible in your runbook designer, with two tasks. I’m going to focus on the Invoke .NET task in this post.
Drag the Invoke .NET task to your runbook:
Go into the properties of this task and populate the bits as appropriate.
For the assembly, browse and locate the compiled .dll file – typically located in the bin/release or bin/debug folders of your project if you compiled using Visual Studio.
Now you can select your class.
In my case, there is only one.
Now select the properties tab, and use as you would expect the task to work.
Once you click finish, you can now use this task as if the IP was compiled already.
To test, I now build a little runbook to see if I get the results expected. In this case, I retrieve an email from a mailbox based on specific criteria – keywords in both the subject line and the body of the message – run it through an HTML cleaner and then write an entry to to the event log.
Side note: I use writing to the event log on my build server as my first point of testing, as it is a quick way of making sure I can pass the correct bits to the correct places without impacting other systems.
Now you can use the runbook tester to find those pesky little bugs in your assembly before you compile an OIP file.