Search code examples
tfsbuild-processworkflow-activity

How i can use BuildMessage in a custom BuildActivity?


How Can I add BuildMessage(s) in custom BuildActivity?

[BuildActivity(HostEnvironmentOption.Agent)]
public sealed class InvokeDotNetReactor : CodeActivity
{
    [RequiredArgument]
    public InArgument<string> SourcesDirectory { get; set; }

    protected override void Execute(CodeActivityContext context)
    {
        ...
        BuildMessage bm = new BuildMessage()
        {
            Importance = BuildMessageImportance.High,
            Message = "Hello From Custom TFS Build Activity"
        };
    }
}

}

For WorklowActivity there is a special WorkflowInvoker...

Thank's a lot.


Solution

  • Logging in a CodeActivity can be done using the CodeActivityContext.

    Example:

    protected override void Execute(CodeActivityContext context)
    {
        context.TrackBuildMessage("Hello from Custom TFS Build Activity", BuildMessageImportance.High);
    }
    

    TrackBuildMessage is an Extension method which can be found in namespace: Microsoft.TeamFoundation.Build.Workflow.Activities