From be33a933027bf8aec12c2809019a0c6e4a78e562 Mon Sep 17 00:00:00 2001 From: Artyom Antonov Date: Fri, 27 Feb 2026 17:04:23 +0500 Subject: [PATCH 1/3] add teamID to trigger model --- moira_client/models/trigger.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/moira_client/models/trigger.py b/moira_client/models/trigger.py index 01512bc..297137f 100644 --- a/moira_client/models/trigger.py +++ b/moira_client/models/trigger.py @@ -22,6 +22,7 @@ class Trigger(Base): def __init__( self, client, + team_id, name, tags, targets, @@ -42,6 +43,7 @@ def __init__( """ :param client: api client + :param team_id: str team id of a team that owns this trigger. :param name: str trigger name :param tags: list of str tags for trigger :param targets: list of str targets @@ -63,6 +65,7 @@ def __init__( self._client = client self._id = kwargs.get('id', None) + self.team_id = team_id self.name = name self.tags = tags self.targets = targets @@ -338,13 +341,14 @@ def fetch_by_id(self, trigger_id): elif not 'trigger_id' in result: raise ResponseStructureError("invalid api response", result) - def search(self, only_problems, page, text): + def search(self, only_problems, page, text, team_id): """ Search triggers :param only_problems: Restricts the result to errors only. Example: false :param page: Defines the number of the displayed page. E.g, page=2 would display the 2nd page. Example: 1 :param text: Query to perform a search for. Example: cpu + :param team_id: str team id of a team that owns this trigger. :return: matching triggers list @@ -354,6 +358,7 @@ def search(self, only_problems, page, text): 'onlyProblems': only_problems, 'page': page, 'text': text, + 'teamID': team_id, } result = self._client.get(self._full_path(), params=params) if 'list' not in result: @@ -519,6 +524,7 @@ def set_maintenance(self, trigger_id, end_time, metrics=None): def create( self, + team_id, name, tags, targets, @@ -540,6 +546,7 @@ def create( """ Creates new trigger. To save it call save() method of Trigger. :param name: str trigger name + :param team_id: str team id of a team that owns this trigger. :param tags: list of str tags for trigger :param targets: list of str targets :param warn_value: float warning value (if T1 <= warn_value) @@ -560,6 +567,7 @@ def create( """ return Trigger( client=self._client, + team_id=team_id, name=name, tags=tags, targets=targets, From 8e13f9a72fb61a6aa71cfb642f4d80411eaa5b10 Mon Sep 17 00:00:00 2001 From: Artyom Antonov Date: Mon, 2 Mar 2026 15:35:19 +0500 Subject: [PATCH 2/3] fix tests --- moira_client/models/trigger.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/moira_client/models/trigger.py b/moira_client/models/trigger.py index 297137f..8eaf1ac 100644 --- a/moira_client/models/trigger.py +++ b/moira_client/models/trigger.py @@ -22,10 +22,10 @@ class Trigger(Base): def __init__( self, client, - team_id, name, tags, targets, + team_id=None, warn_value=None, error_value=None, desc='', @@ -524,10 +524,10 @@ def set_maintenance(self, trigger_id, end_time, metrics=None): def create( self, - team_id, name, tags, targets, + team_id=None, warn_value=None, error_value=None, desc='', From 604f238450e5e7d2421ee4330e3bd631078505db Mon Sep 17 00:00:00 2001 From: Artyom Antonov Date: Tue, 3 Mar 2026 15:31:43 +0500 Subject: [PATCH 3/3] fix search request path --- moira_client/models/trigger.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/moira_client/models/trigger.py b/moira_client/models/trigger.py index 8eaf1ac..9ab3fe0 100644 --- a/moira_client/models/trigger.py +++ b/moira_client/models/trigger.py @@ -142,6 +142,7 @@ def id(self): def _send_request(self, trigger_id=None): data = { 'name': self.name, + 'team_id': self.team_id, 'tags': self.tags, 'targets': self.targets, 'warn_value': self.warn_value, @@ -341,7 +342,7 @@ def fetch_by_id(self, trigger_id): elif not 'trigger_id' in result: raise ResponseStructureError("invalid api response", result) - def search(self, only_problems, page, text, team_id): + def search(self, only_problems, page, text, team_id=''): """ Search triggers @@ -360,7 +361,7 @@ def search(self, only_problems, page, text, team_id): 'text': text, 'teamID': team_id, } - result = self._client.get(self._full_path(), params=params) + result = self._client.get(self._full_path('search'), params=params) if 'list' not in result: raise ResponseStructureError("list doesn't exist in response", result)