blob: 89c237be13e0a248e54c42a27bddd5b0482cd7b9 [file] [log] [blame]
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Provides an interface to manually put a buildbucket job."""
import json
from dashboard import buildbucket_job
from dashboard import buildbucket_service
from dashboard import request_handler
from dashboard import utils
class TestBuildbucketHandler(request_handler.RequestHandler):
def get(self):
self.RenderHtml('put_buildbucket_job.html', {})
def post(self):
if not utils.IsInternalUser():
self.response.out.write(json.dumps({
'error': 'You are not authorized to post to this endpoint.',
}))
return
job = buildbucket_job.BisectJob(
'linux_perf_bisector',
self.request.get('good_revision'),
self.request.get('bad_revision'),
self.request.get('command'),
self.request.get('metric'),
self.request.get('repeat_count'),
self.request.get('max_time_minutes'),
self.request.get('bug_id'),
self.request.get('gs_bucket'),
self.request.get('recipe_tester_name'),
self.request.get('builder_host'),
self.request.get('builder_port'))
buildbucket_service.PutJob(job)
self.response.out.write(job.response_fields)