How to retrieve changesets associated with a build in TFS 2013 with Git?

前端 未结 3 1605
野趣味
野趣味 2021-01-20 06:17

Once you have an IBuildDetail getting the associated changsets used to be accomplished with:

buildDetail.Information.GetNodesByType(\"AssociatedChangeset\")
         


        
相关标签:
3条回答
  • 2021-01-20 06:52

    After a lot of fiddling around I finally found the solution. Changeset's have been renamed to Commit's for TFS 2013's git support. Consequently you need to ask for that data when you get build details like this:

    var buildDetailSpec = _buildServer.CreateBuildDetailSpec(buildDefinitionUris);
    buildDetailSpec.InformationTypes = new[] { "AssociatedCommit" };
    

    Then you perform the query as usual:

    var buildQueryResult = _buildServer.QueryBuilds(new [] { buildDetailSpec });
    var buildDetail = buildQueryResult[0].Builds;
    

    Then you retrieve the commit, not the changeset, like this:

    var commits = buildDetail.Information.GetNodesByType("AssociatedCommit");
    var author = commits.First().Fields["Author"];
    var comments = commits.First().Fields["Message"];
    

    Note that what was "Comment" has been renamed to "Message" and what was "CheckedInBy" has been renamed to "Author" (or maybe "Committer", they are always the same value for me).

    0 讨论(0)
  • 2021-01-20 06:58

    For those interested in getting the current builds list of associated commits (after associate commits since last good build is called) the following code is helpful.

    var envVar = context.GetExtension<IEnvironmentVariableExtension>();           
    var commits = envVar.GetEnvironmentVariable<IList<AssociatedCommit>>(context, WellKnownEnvironmentVariables.AssociatedCommits);
    

    This is nicer than the marked answer for the current build as you get back the type safe object.

    0 讨论(0)
  • 2021-01-20 07:10

    I'm not an expert of tfs, but I found these links, that maybe could be useful:

    How to get the History of the sourcecontrol in TFS API?

    http://tfsdeployer.codeplex.com/discussions/451215

    0 讨论(0)
提交回复
热议问题