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

View file

@ -52,6 +52,9 @@ class GithubOAuthConfig(OAuthConfig):
def _api_endpoint(self): def _api_endpoint(self):
return self.config.get('API_ENDPOINT', self._get_url(self._endpoint(), '/api/v3/')) 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): def user_endpoint(self):
api_endpoint = self._api_endpoint() api_endpoint = self._api_endpoint()
return self._get_url(api_endpoint, 'user') return self._get_url(api_endpoint, 'user')