Fix build system to work with Github Enterprise

This commit is contained in:
Joseph Schorr 2014-11-26 12:37:20 -05:00
parent d91829dc3c
commit b7a489813a
3 changed files with 12 additions and 7 deletions

View file

@ -100,7 +100,7 @@ class BuildTrigger(object):
raise NotImplementedError
def activate(self, trigger_uuid, standard_webhook_url, auth_token, config):
"""
"""
Activates the trigger for the service, with the given new configuration.
Returns new configuration that should be stored if successful.
"""
@ -150,8 +150,10 @@ def raise_unsupported():
class GithubBuildTrigger(BuildTrigger):
@staticmethod
def _get_client(auth_token):
return Github(auth_token, client_id=github_trigger.client_id(),
client_secret=github_trigger.client_secret())
return Github(auth_token,
base_url=github_trigger.api_endpoint(),
client_id=github_trigger.client_id(),
client_secret=github_trigger.client_secret())
@classmethod
def service_name(cls):
@ -246,7 +248,7 @@ class GithubBuildTrigger(BuildTrigger):
gh_client = self._get_client(auth_token)
source = config['build_source']
try:
try:
repo = gh_client.get_repo(source)
# Find the first matching branch.
@ -381,7 +383,7 @@ class GithubBuildTrigger(BuildTrigger):
raise SkipRequestException()
if should_skip_commit(commit_message):
raise SkipRequestException()
raise SkipRequestException()
short_sha = GithubBuildTrigger.get_display_name(commit_sha)
@ -419,7 +421,7 @@ class GithubBuildTrigger(BuildTrigger):
branches = self.list_field_values(auth_token, config, 'branch_name')
tags = self.list_field_values(auth_token, config, 'tag_name')
return ([{'kind': 'branch', 'name': b} for b in branches] +
return ([{'kind': 'branch', 'name': b} for b in branches] +
[{'kind': 'tag', 'name': tag} for tag in tags])
if field_name == 'tag_name':

View file

@ -1729,7 +1729,7 @@ quayApp = angular.module('quay', quayDependencies, function($provide, cfpLoading
keyService['githubEndpoint'] = oauth['GITHUB_LOGIN_CONFIG']['GITHUB_ENDPOINT'];
keyService['githubTriggerAuthorizeUrl'] = oauth['GITHUB_LOGIN_CONFIG']['AUTHORIZE_ENDPOINT'];
keyService['githubTriggerAuthorizeUrl'] = oauth['GITHUB_TRIGGER_CONFIG']['AUTHORIZE_ENDPOINT'];
keyService['githubLoginScope'] = 'user:email';
keyService['googleLoginScope'] = 'openid email';

View file

@ -52,6 +52,9 @@ class GithubOAuthConfig(OAuthConfig):
def _api_endpoint(self):
return self.config.get('API_ENDPOINT', self._get_url(self._endpoint(), '/api/v3/'))
def api_endpoint(self):
return self._api_endpoint()[0:-1]
def user_endpoint(self):
api_endpoint = self._api_endpoint()
return self._get_url(api_endpoint, 'user')