User Configured pre-receive or post-receive Hooks Break After Upgrading Bitbucket Server
Symptoms
User configured pre or post receive hooks are not working after upgrading Bitbucket Server.
Cause
If you added a pre-receive or post-receive hook, upon upgrading to Bitbucket Server 2.0 or later, these will be moved to <BITBUCKET_HOME>/data/repositories/<NNN>/hooks/pre-receive.d/10_custom
or <BITBUCKET_HOME>/data/repositories/<NNN>/hooks/post-receive.d/10_custom
.
We replace the <BITBUCKET_HOME>/data/repositories/<NNN>/hooks/pre-receive
and <BITBUCKET_HOME>/data/repositories/<NNN>/hooks/post-receive
hook with our own that will call out to all the hooks in the .../hooks/pre-recieve.d
and .../hooks/post-recieve.d
directories in order.
NNN is the internal repository id.
If your custom hook references other scripts using relative path names (e.g. ./foo.sh
or ../dir/foo.sh
) these will break and the hook will stop working.