Ejemplo n.º 1
0
def get_issues():
    from_time = request.args.get("start_time")
    to_time = request.args.get("end_time")
    start = int(request.args.get("from", 0))
    end = int(request.args.get("size", 100))
    start_time = int(arrow.get(from_time).float_timestamp * 1000)
    end_time = int(arrow.get(to_time).float_timestamp * 1000)
    false_positive = request.args.get("false_positive", "false")
    sort_order = ElasticSearchHelpers.create_sort(True)
    time_filter = ElasticSearchHelpers.create_timestamp_filter(start_time, end_time)
    query_filter = ElasticSearchHelpers.create_query_string_filter("false_positive:" + false_positive)
    try:
        query = ElasticSearchHelpers.create_elasticsearch_filtered_query(filtered_query=query_filter,
                                                                         timestamp_filter=time_filter,
                                                                         sort_order=sort_order)
        datastore = get_data_store()
        params = dict(from_=start)
        params["size"] = end
        results = datastore.search(query=query, params=params)
        issues = make_issues_object(results["hits"]["hits"], results["hits"]["total"])
        response = make_response(json.dumps(issues))
        response.headers["Content-Type"] = "application/json"
        return response
    except DataStoreException:
        return "Failed to retrieve issues", 500
Ejemplo n.º 2
0
def get_issues():
    from_time = request.args.get("start_time")
    to_time = request.args.get("end_time")
    start = int(request.args.get("from", 0))
    end = int(request.args.get("size", 100))
    start_time = int(arrow.get(from_time).float_timestamp * 1000)
    end_time = int(arrow.get(to_time).float_timestamp * 1000)
    false_positive = request.args.get("false_positive", "false")
    sort_order = ElasticSearchHelpers.create_sort(True)
    time_filter = ElasticSearchHelpers.create_timestamp_filter(
        start_time, end_time)
    query_filter = ElasticSearchHelpers.create_query_string_filter(
        "false_positive:" + false_positive)
    try:
        query = ElasticSearchHelpers.create_elasticsearch_filtered_query(
            filtered_query=query_filter,
            timestamp_filter=time_filter,
            sort_order=sort_order)
        datastore = get_data_store()
        params = dict(from_=start)
        params["size"] = end
        results = datastore.search(query=query, params=params)
        issues = make_issues_object(results["hits"]["hits"],
                                    results["hits"]["total"])
        response = make_response(json.dumps(issues))
        response.headers["Content-Type"] = "application/json"
        return response
    except DataStoreException:
        return "Failed to retrieve issues", 500
Ejemplo n.º 3
0
def filter_by_rule():
    from_time = request.args.get("start_time", arrow.utcnow().replace(days=-7))
    to_time = request.args.get("end_time", arrow.utcnow())
    start = int(request.args.get("from", 0))
    end = int(request.args.get("size", 100))
    start_time = int(arrow.get(from_time).float_timestamp * 1000)
    end_time = int(arrow.get(to_time).float_timestamp * 1000)
    false_positive = request.args.get("false_positive", "false")
    sort_order = ElasticSearchHelpers.create_sort(True)
    time_filter = ElasticSearchHelpers.create_timestamp_filter(start_time, end_time)
    query_filter = ElasticSearchHelpers.create_query_string_filter("false_positive:" + false_positive)
    try:
        query = ElasticSearchHelpers.create_elasticsearch_filtered_query(filtered_query=query_filter,
                                                                         timestamp_filter=time_filter,
                                                                         sort_order=sort_order)
        datastore = get_data_store()
        params = dict(from_=start)
        params["size"] = end
        params["_source"] = "check_id"
        results = datastore.search(query=query, params=params)
        rules = set()
        for result in results["hits"]["hits"]:
            rule = result["_source"]["check_id"]
            rules .add(rule)
        # sets are not JSON serializable
        response = make_response(json.dumps(list(rules)))
        response.headers["Content-Type"] = "application/json"
        return response
    except DataStoreException:
        return "Failed to retrieve commits", 500
Ejemplo n.º 4
0
def filter_by_reviewer():
    from_time = request.args.get("start_time", arrow.utcnow().replace(days=-7))
    to_time = request.args.get("end_time", arrow.utcnow())
    start = int(request.args.get("from", 0))
    end = int(request.args.get("size", 100))
    start_time = int(arrow.get(from_time).float_timestamp * 1000)
    end_time = int(arrow.get(to_time).float_timestamp * 1000)
    false_positive = request.args.get("false_positive", "false")
    sort_order = ElasticSearchHelpers.create_sort(True)
    time_filter = ElasticSearchHelpers.create_timestamp_filter(
        start_time, end_time)
    query_filter = ElasticSearchHelpers.create_query_string_filter(
        "false_positive:" + false_positive)
    try:
        query = ElasticSearchHelpers.create_elasticsearch_filtered_query(
            filtered_query=query_filter,
            timestamp_filter=time_filter,
            sort_order=sort_order)
        datastore = get_data_store()
        params = dict(from_=start)
        params["size"] = end
        params["_source"] = "last_reviewer"
        results = datastore.search(query=query, params=params)
        reviewers = set()
        for result in results["hits"]["hits"]:
            reviewers.add(result["_source"]["last_reviewer"])
        # sets are not JSON serializable
        response = make_response(json.dumps(list(reviewers)))
        response.headers["Content-Type"] = "application/json"
        return response
    except DataStoreException:
        return "Failed to retrieve commits", 500