diff --git a/treeherder/model/sql/jobs.json b/treeherder/model/sql/jobs.json index d13a7eff5..b37b0cf6c 100644 --- a/treeherder/model/sql/jobs.json +++ b/treeherder/model/sql/jobs.json @@ -194,9 +194,11 @@ bp.`os_name` as build_os, bp.`architecture` as build_architecture, m.`name` as machine_name, + m.`id` as machine_id, jt.`name` as job_type_name, jt.`symbol` as job_type_symbol, jt.`description` as job_type_description, + jt.id as job_type_id, jg.`name` as job_group_name, jg.`symbol` as job_group_symbol, jg.`description` as job_group_description, diff --git a/treeherder/webapp/api/utils.py b/treeherder/webapp/api/utils.py index 01c2eaafd..770edb2d4 100644 --- a/treeherder/webapp/api/utils.py +++ b/treeherder/webapp/api/utils.py @@ -34,7 +34,9 @@ class UrlQueryFilter(object): "lt": "<", "lte": "<=", "=": "=", - "in": "IN" + "in": "IN", + "ne": "<>", + "nin": "NOT IN" } splitter = "__" @@ -47,7 +49,7 @@ class UrlQueryFilter(object): field, operator = k.split(self.splitter, 1) if operator not in self.operators: raise ValueError("{0} is not a supported operator".format(operator)) - if operator == "in": + if operator in ("in", "nin"): v = tuple(v.split(",")) else: field = k