@@ -1143,6 +1143,7 @@ def get_users(
11431143 self ,
11441144 project_name : Optional [str ] = None ,
11451145 usernames : Optional [Iterable [str ]] = None ,
1146+ emails : Optional [Iterable [str ]] = None ,
11461147 fields : Optional [Iterable [str ]] = None ,
11471148 ) -> Generator [Dict [str , Any ], None , None ]:
11481149 """Get Users.
@@ -1153,6 +1154,7 @@ def get_users(
11531154 Args:
11541155 project_name (Optional[str]): Project name.
11551156 usernames (Optional[Iterable[str]]): Filter by usernames.
1157+ emails (Optional[Iterable[str]]): Filter by emails.
11561158 fields (Optional[Iterable[str]]): Fields to be queried
11571159 for users.
11581160
@@ -1167,6 +1169,22 @@ def get_users(
11671169 return
11681170 filters ["userNames" ] = list (usernames )
11691171
1172+ if emails is not None :
1173+ emails = set (emails )
1174+ if not emails :
1175+ return
1176+
1177+ major , minor , patch , _ , _ = self .server_version_tuple
1178+ emails_filter_available = (major , minor , patch ) > (1 , 7 , 3 )
1179+ if not emails_filter_available :
1180+ server_version = self .get_server_version ()
1181+ raise ValueError (
1182+ "Filtering by emails is not supported by"
1183+ f" server version { server_version } ."
1184+ )
1185+
1186+ filters ["emails" ] = list (emails )
1187+
11701188 if project_name is not None :
11711189 filters ["projectName" ] = project_name
11721190
0 commit comments