protected override string DetermineSecurityProtocol(JObject payload)
{
// CodebaseHq format, see http://support.codebasehq.com/kb/howtos/repository-push-commit-notifications
var repository = payload.Value<JObject>("repository");
var urls = repository.Value<JObject>("clone_urls");
var isPrivate = repository.Value<bool>("private");
return isPrivate ? urls.Value<string>("ssh") : urls.Value<string>("http");
}