Work in progress: bitbucket support
This commit is contained in:
parent
d180524b23
commit
c480fb2105
12 changed files with 321 additions and 86 deletions
43
endpoints/bitbuckettrigger.py
Normal file
43
endpoints/bitbuckettrigger.py
Normal file
|
@ -0,0 +1,43 @@
|
|||
import logging
|
||||
|
||||
from flask import request, redirect, url_for, Blueprint
|
||||
from flask.ext.login import current_user
|
||||
|
||||
from endpoints.trigger import BitbucketBuildTrigger
|
||||
from endpoints.common import route_show_if
|
||||
from app import app
|
||||
from data import model
|
||||
from util.names import parse_repository_name
|
||||
from util.http import abort
|
||||
from auth.auth import require_session_login
|
||||
|
||||
import features
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
client = app.config['HTTPCLIENT']
|
||||
bitbuckettrigger = Blueprint('bitbuckettrigger', __name__)
|
||||
|
||||
|
||||
@bitbuckettrigger.route('/bitbucket/callback/trigger/<trigger_uuid>', methods=['GET'])
|
||||
@route_show_if(features.BITBUCKET_BUILD)
|
||||
@require_session_login
|
||||
def attach_bitbucket_build_trigger(trigger_uuid):
|
||||
trigger = model.get_build_trigger(trigger_uuid)
|
||||
if not trigger or trigger.service.name != BitbucketBuildTrigger.service_name():
|
||||
abort(404)
|
||||
|
||||
if trigger.connected_user != current_user.db_user():
|
||||
abort(404)
|
||||
|
||||
verifier = request.args.get('oauth_verifier')
|
||||
result = BitbucketBuildTrigger.exchange_verifier(trigger, verifier)
|
||||
print result
|
||||
return 'hello'
|
||||
|
||||
repo_path = '%s/%s' % (namespace, repository)
|
||||
full_url = '%s%s%s' % (url_for('web.repository', path=repo_path), '?tab=builds&newtrigger=',
|
||||
trigger.uuid)
|
||||
|
||||
|
||||
logger.debug('Redirecting to full url: %s', full_url)
|
||||
return redirect(full_url)
|
Reference in a new issue