Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

BuildMaster TFS integration



  • Does this also work with Visual Studio Team Services (builds from TFS/Git/GitHub) ? (This was previously called Visual Studio Online.)

    Product: BuildMaster
    Version: 4.9.7



  • Hi Yannick; that's correct, the TFS extension does just that!



  • Great! But no luck so far:

    Provider error. Could not connect to TFS: Microsoft.TeamFoundation.TeamFoundationServerUnauthorizedException: TF30063: You are not authorized to access https://*****.visualstudio.com/.
    at Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.EnsureTokenProvider(HttpWebResponse webResponse)
    at Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.SendRequest()
    at Microsoft.TeamFoundation.Client.Channels.TfsHttpRequestChannel.Request(TfsMessage message, TimeSpan timeout)
    at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.Invoke(TfsClientOperation operation, Object[] parameters, TimeSpan timeout, Object[]& outputs)
    at Microsoft.TeamFoundation.Framework.Client.LocationWebService.Connect(Int32 connectOptions, Int32 lastChangeId, Int32 features)
    at Microsoft.TeamFoundation.Framework.Client.FrameworkServerDataProvider.Connect(ConnectOptions connectOptions)
    at Microsoft.TeamFoundation.Client.TfsConnection.EnsureProviderConnected()
    at Microsoft.TeamFoundation.Client.TfsConnection.EnsureAuthenticated()
    at Inedo.BuildMasterExtensions.TFS.TfsSourceControlProvider.GetTeamProjectCollection()
    at Inedo.BuildMasterExtensions.TFS.TfsSourceControlProvider.ValidateConnection2()
    at Inedo.BuildMasterExtensions.TFS.TfsSourceControlProvider.ValidateConnection()

    Name:
    Visual Studio Team Services
    Server:
    TFS URL:
    https://.visualstudio.com/
    Authentication:
    User name:
    yannick.
    @tobania.be
    Password:
    ••••••••••
    Mask
    Domain:
    Workspace path:
    BuildMaster managed
    Workspace name:
    Default
    Options: Log command line arguments



  • I also tried the VisualStudio.com provider but that seemed to point to the TFS2012 extension upon installation and throws the following error when attempting to connect:

    Provider error. Could not connect to TFS: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.TeamFoundation.Client, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
    File name: 'Microsoft.TeamFoundation.Client, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
    at Inedo.BuildMasterExtensions.TFS2012.TfsSourceControlProvider.ValidateConnection2()
    at Inedo.BuildMasterExtensions.TFS2012.TfsSourceControlProvider.ValidateConnection()

    WRN: Assembly binding logging is turned OFF.
    To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
    Note: There is some performance penalty associated with assembly bind failure logging.
    To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].



  • The VisualStudio.com provider doesn't seem to support VSTS Personal access tokens yet?
    That method is recommended (more secure) than enabling "Alternate authentication credentials", which is Basic HTTP Authentication.



  • Hopefully this will get you up and running:

    • Use the TFS extension, not TFS2012 or any of the other version-specific ones
    • Use the "Team Foundation Server" source control provider
    • The TFS URL may need to be a Project Collection URL, so something like: https://*****.visualstudio.com/DefaultCollection
    • Personal Access Tokens should be supported by entering the token value in the Password field; you can enter any username, just make sure to leave Domain empty

    Does this help?



  • I was able to create the source control provider now and I configured a profile for the extension as well.

    When I try to create an application in BuildMaster using the Deploy TFS Team Build wizard, I get a HTTP 500 error page. In the logs I see this:

    An error occurred in the web application: TF30063: You are not authorized to access https://*.visualstudio.com/DefaultCollection.
     Details: URL: http://*.be:8086/administration/applications/create/recipe?recipeType=Inedo.BuildMasterExtensions.TFS.DeployTeamBuildRecipe,TFS
    Referrer: http://axwinservices01.axmatrix.be:8086/administration/applications/create
    User: Admin
    User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36
    Stack trace: at Inedo.BuildMaster.Extensibility.Agents.Local.LocalAgent.Inedo.BuildMaster.Extensibility.Agents.IRemoteMethodExecuter.InvokeMethod(MethodBase method, Object instance, Object[] parameters)
    at Inedo.BuildMasterExtensions.TFS.TfsConfigurer.GetTeamProjects()
    at Inedo.BuildMasterExtensions.TFS.TeamProjectPicker.OnInit(EventArgs e)
    at System.Web.UI.Control.InitRecursive(Control namingContainer)
    at System.Web.UI.Control.InitRecursive(Control namingContainer)
    at System.Web.UI.Control.InitRecursive(Control namingContainer)
    at System.Web.UI.Control.InitRecursive(Control namingContainer)
    at System.Web.UI.Control.InitRecursive(Control namingContainer)
    at System.Web.UI.Control.AddedControl(Control control, Int32 index)
    at Inedo.Web.Controls.CExtensions.Add(ControlCollection toControl, Control[] controls)
    at System.Web.UI.Control.EnsureChildControls()
    at System.Web.UI.Control.PreRenderRecursiveInternal()
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)


  • In short, don't use the wizard, we have decided to remove them in v5 anyway because of problems like this.

    Instead, simply create a Standard Application, and then visit the Workflows tab, and add a Build Step that imports from TFS. That's actually all the wizard is supposed to do anyway.



Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation