Why is Github Post-Commit Hook integration so complicated?


Hi all,

I am new to TeamCity and I think it's a monster. It might be a great product and easy to use if you can spent 100% on your time on it. Personally I have only 1% capacity and I just want a solution to run a build script when a commit is pushed. And I would love to do it with a professional system, because we will be growing.

It works pulling from Github, but I don't really want to bother Github with so much traffic for a free repository. So the Commit Hook should be the obvious choice. But the according docs are just to complicated for me, I am not a TeamCity or VCS expert.

What is my expectation? I created a TeamCity project with a GitHub repository - no problem. Why can't TeamCity provide me with a plain&simple URL I can just copy&paste into the Github commit hook input field?








Comment actions Permalink

For github in particular we have a plugin that installs commit hooks if possible as an action: https://plugins.jetbrains.com/plugin/9179-github-commit-hooks, please check it out as it should cover your use case.


The reason for it being so complicated is that the docs you linked are a generalized way for every single vcs system that supports commit hooks, and not all of them offer a single place to put an URL.

Comment actions Permalink

Thanks for the quick response.

I managed to install the plugin. Very intuitive. Clever solution to go to the repository server and back.

But then I am lost again. I find Wordpress (sorry, bad comparison) very intuitive. The plugin list has options for some text, links and buttons to configure. With TeamCity I can only disable or delete.

No hint where the plugin is now doing it's magic or where to start. Documentation on the plugin page is hidden way below and not helping. I am clicking now for 15 minutes through TeamCity but I can not find it.

At least now I understand why you do the Github pull - for enterprise on-prem installs. I live too much in the cloud ;-)




Please sign in to leave a comment.