On Friday 02 February 2007 07:44, Obando, David DE - EV wrote:
> Dear all,
> 
> I have a bunch of users (in a csv file) and would like to import
> them into RT. What is the best way to do it?

The Wiki is your friend.  :-)

I did it with code something like this (untested):

    #!/usr/bin/perl
    use strict;
    use warnings;

    use lib '/path/to/rt/lib';
    use RT::Interface::CLI;

    RT::LoadConfig();
    RT::Init();

    my $rt_user = RT::User->new($RT::SystemUser);
    while (<>) {
        my ($id, $name, $passwd, $email) = split /,/;

        my ($rc, $msg) =
            $rt_user->Create(Name         => $id,
                             RealName     => $name,
                             Password     => $passwd,
                             EmailAddress => $email,
                             Privileged   => 1,
                            );
        unless ($rc) {
            print "add user $id: $msg\n";
        }
    }

The split() is probably inadequate -- you might want to use
Text::ParseWords to be more robust.

After a user is added, you might want to include that user in a user
defined group (untested):

    my $rt_group = RT::Group->new($RT::SystemUser);
    $rt_group->LoadUserDefinedGroup('my_group_name');
    my ($rc, $msg) = $rt_group->AddMember($rt_user->PrincipalId());

    unless ($rc) {
        print "can't add $id to my_group_name: $msg\n";
    }

-- 
Garry T. Williams --- 678-370-2438



_______________________________________________
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com

Reply via email to