Выборочная сборка - отображать изменения, сделанные после предыдущей фиксации - PullRequest
1 голос
/ 20 января 2011

Используя пользовательское действие внутри шаблона сборки, есть ли способ перечислить изменения, сделанные после предыдущей сборки?

Я планирую со временем составить список изменений, чтобы при запуске сборки отправлялось электронное письмо с информацией о сборке и внесенных изменениях.

Любая информация или ссылки будут великолепны.

Спасибо

1009 ** * Редактировать 1010 ** * 1011

Было бы что-то похожее на эту работу, если бы я передал набор изменений в свою пользовательскую деятельность?

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 Ответ

2 голосов
/ 20 января 2011

В шаблоне DefaultTemplate в конце есть действие AssociateChangesetsAndWorkitems, которое вычисляет изменения и сохраняет информацию в переменной relatedChangesets. Вы можете использовать эту информацию для отправки вашего электронного письма.

...