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
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
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
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