自定义构建活动 - 显示自上次提交后所做的更改

时间:2011-01-20 11:53:04

标签: tfs tfs2010

在构建模板中使用自定义活动,有没有办法枚举自上一次构建以来所做的更改?

我计划最终编译一个更改列表,因此当触发构建时,会发送一封电子邮件,显示有关构建的信息以及所做的更改。

任何信息或链接都会很棒。

由于

修改

如果我将变更集传递到我的自定义活动中,是否会有类似的工作?

public sealed class ChangeSetActivity : CodeActivity
{
    // Define an activity input argument of type string
    public InArgument<string> Text { get; set; }
    public InArgument<IBuildDetail> currentBuild { get; set; }
    public InArgument<List<IChangesetSummary>> changes { get; set; }
    public OutArgument<string> changeSet { get; set; }

    // If your activity returns a value, derive from CodeActivity<TResult>
    // and return the value from the Execute method.
    protected override void Execute(CodeActivityContext context)
    {
        // Obtain the runtime value of the Text input argument
        string text = context.GetValue(this.Text);
        string str = "";
        foreach (IChangesetSummary c in changes.Get(context))
        {
            str = string.Format("User - {0}  Comment - {1}", c.CheckedInBy, c.Comment);
        }
        context.SetValue<string>(this.changeSet, str);
    }
}

显然,这是非常基本的东西,只是为了让它发挥作用。

修改

发现这个:

http://blogs.msdn.com/b/codejunkie/archive/2010/09/02/custom-build-activity-for-tfs-2010-to-send-email-with-build-details-part-1.aspx

1 个答案:

答案 0 :(得分:2)

在DefaultTemplate中,最后有一个名为AssociateChangesetsAndWorkitems的活动,它计算更改并将信息存储在associatedChangesets变量中。您可以使用此信息发送电子邮件。