def pull_request_row(request, owner, project, pr_number): project_ = Project.objects.filter(owner=owner, name=project).all()[0] pr = PullRequest.objects.get(project=project_, number=int(pr_number)) if not pr.open: data = {'open': False, 'pr_id': _make_pr_id(pr)} return HttpResponse(json.dumps(data), content_type='application/json') build = JenkinsBuild.search_pull_request(project_, pr.number) row = _get_row_dict(project_, pr, build) return HttpResponse(json.dumps(row), content_type='application/json')
def _get_build(project_name, pr_number, build_number=None): try: project = Project.get(project_name) except Exception: logger.exception() return None if project is None: logger.info('project not found: {0!r}'.format( project_name)) return None build = JenkinsBuild.search_pull_request( project, int(pr_number), build_number=build_number) if build is None: logger.info('Build not found: PR {0}, build {1}'.format( pr_number, build_number)) return None return build
def _get_pr_build_list(project, pull_requests): return [(_make_pr_id(pr), pr, JenkinsBuild.search_pull_request( project, pr.number)) for pr in pull_requests]