The SDK should include methods that will process a ticket for the correct project specific workflow. This should process all the workflow items possible (set default field values, enforce required fields, etc) but should not necessarily prompt users as that would make this useless in a server-based processing scenario. We'd like to see something similar:
MoveToNextStep( int workflowStepID, NameValueCollection parameters )
This would enable us to script things such as moving tickets inside a CI process:
List<Defect> defectsInBuild = defectService.FindDefectsMatching( project, workflowStep );
foreach( Defect completedDefect in defectsInBuild )
{
completedDefect.MoveToNextStep( nextStepID, new NameValueCollection() );
}