@@ -843,7 +843,7 @@ def get_users_by_ids(self, user_ids):
843843 def add_user (self , username , realname = None , status = None ,
844844 notes = None , email = None , firstname = None , lastname = None ,
845845 alias1 = None , alias2 = None , alias3 = None , alias4 = None ,
846- aliases = None ):
846+ aliases = None , custom_attribute_map = None ):
847847 """
848848 Adds a user.
849849
@@ -856,6 +856,9 @@ def add_user(self, username, realname=None, status=None,
856856 lastname - User's surname for ID Proofing (optional)
857857 alias1..alias4 - Aliases for the user's primary username (optional)
858858 aliases - Aliases for the user's primary username (optional)
859+ custom_attribute_map - Map of custom attributes (optional). When provided this will be of type Dict[str|str]. e.g.
860+ {"attribute_name":"attribute_value"}
861+ Note: the custom attribute names have to be created prior to adding users
859862
860863 Returns newly created user object.
861864
@@ -886,6 +889,10 @@ def add_user(self, username, realname=None, status=None,
886889 params ['alias4' ] = alias4
887890 if aliases is not None :
888891 params ['aliases' ] = aliases
892+ if custom_attribute_map is not None :
893+ for key in custom_attribute_map :
894+ params [f'custom_attributes.{ key } ' ] = custom_attribute_map [key ]
895+
889896 response = self .json_api_call ('POST' ,
890897 '/admin/v1/users' ,
891898 params )
0 commit comments