Triggers do not get to decide which agent the build runs on. You can however set an Agent Requirement on the stage, e.g :
$Agent.Hostname$ Equals mymachine
Agents are selected based on the requirements of the stage, and the capabilities of the agent. The requirements are collected from the Stage Agent Requrements and the Actions on the stage. Agent capabilities are reported by the Agent Properties. Agent Properties are defined by Property Collectors, or you can manually define them. You can also add your own Property Collectors and this would be the recommended way of doing this. So while you can hard code a stage to a specific agent, it would be better to define property collectors that will the have the agents report the capability/property, and set the requirement on the property. That way if you add other agents later that are able to run the stage they will get used as well.
So the idea is that Continua should never assign a Stage to an Agent not capable of running it.
I totally agree with your approach. I’ve added my own property collector for Excel 2010. Now where in the Continua UI do I use it? Having a “blond” moment.
In the workflow editor, double click on the Stage or click on the Edit Stage Options button, switch to the Agent Requirements tab. Add a an expression , eg :
$Agent.Office.2010.Excel.Path$ Exists
BTW, note how I namespaced the property that was created by my property collector, so as I type $Agent.O I get completion for the properties.