@@ -40,13 +40,16 @@ def get_events(
4040 project_names : Optional [Iterable [str ]] = None ,
4141 statuses : Optional [Iterable [EventStatus ]] = None ,
4242 users : Optional [Iterable [str ]] = None ,
43+ text_filter : Optional [str ] = None ,
4344 include_logs : Optional [bool ] = None ,
4445 has_children : Optional [bool ] = None ,
4546 newer_than : Optional [str ] = None ,
4647 older_than : Optional [str ] = None ,
4748 fields : Optional [Iterable [str ]] = None ,
4849 limit : Optional [int ] = None ,
4950 order : Optional [SortOrder ] = None ,
51+ first : Optional [int ] = None ,
52+ last : Optional [int ] = None ,
5053 states : Optional [Iterable [str ]] = None ,
5154 ) -> Generator [dict [str , Any ], None , None ]:
5255 """Get events from server with filtering options.
@@ -62,6 +65,7 @@ def get_events(
6265 statuses (Optional[Iterable[EventStatus]]): Filtering by statuses.
6366 users (Optional[Iterable[str]]): Filtering by users
6467 who created/triggered an event.
68+ text_filter (Optional[str]): Filtering by text in event payload.
6569 include_logs (Optional[bool]): Query also log events.
6670 has_children (Optional[bool]): Event is with/without children
6771 events. If 'None' then all events are returned, default.
@@ -75,6 +79,8 @@ def get_events(
7579 order (Optional[SortOrder]): Order events in ascending
7680 or descending order. It is recommended to set 'limit'
7781 when used descending.
82+ first (Optional[int]): Get first n events.
83+ last (Optional[int]): Get last n events.
7884 states (Optional[Iterable[str]]): DEPRECATED Filtering by states.
7985 Use 'statuses' instead.
8086
@@ -111,6 +117,7 @@ def get_events(
111117 ("hasChildrenFilter" , has_children ),
112118 ("newerThanFilter" , newer_than ),
113119 ("olderThanFilter" , older_than ),
120+ ("textFilter" , text_filter ),
114121 ):
115122 if filter_value is not None :
116123 filters [filter_key ] = filter_value
@@ -125,6 +132,14 @@ def get_events(
125132 for attr , filter_value in filters .items ():
126133 query .set_variable_value (attr , filter_value )
127134
135+ events_field = query .get_field_by_path ("events" )
136+ if last is not None :
137+ events_field .set_limit (last )
138+ events_field .set_order (SortOrder .descending )
139+ elif first is not None :
140+ events_field .set_limit (first )
141+ events_field .set_order (SortOrder .ascending )
142+
128143 if limit :
129144 events_field = query .get_field_by_path ("events" )
130145 events_field .set_limit (limit )
0 commit comments