I am trying to set up a new work flow. We are using TFS 2015 on premise backed by Git SCM. However, I would also like to use Jenkins for builds and deployments. We are building .NET/mono Java & Java for android, nodejs and a couple of other bits. Also, auto deploying to docker from Jenkins. So although the new TFS builds look better, I don't want to try them right now.
My issues is around TFS pull requests and code reviews. Developers can't submit to master, I have the branch policies set so they have to submit a pull request which involves pushing a branch to the remote. However, I can't set the "required build" policy as although I have linked up Jenkins, it only allows me to select TFS builds as part of the branch policy.
So I have linked Jenkins to TFS using the service hooks feature, and I can start TFS builds that way, but I don't think it helps me, as it has to monitor a specific branch. So instead I am just polling git from Jenkins and building against all branches in the repo except master.
What I would like to do is have a developer push their branch to the remote, have Jenkins build it (I have got this far), and then somehow publish the build report or a link to it back to TFS, so when other developers come to do the code review using the TFS UI, then can go and view the build report. (this is the bit where I am stuck)
Once that is done, and the merge is performed, the other builds to perform deployments etc can run against the master branch. Its just this link back to TFS I am struggling with, has anyone else got an answer
Has anyone got a solution to this? I tried adding the url to the build results to the git notes using the git publish plugin, but TFS doesn't seem to display that anywhere. I have considered setting up a TFS build to simply call the Jenkins job, but it feels a bit hacky. Is there a better way?