Re: [rt-users] REST add/update a user

2009-03-02 Thread Tom Lahti
> Can we please get some example code for this up somewhere so those of us
> that have automated employee fulfillment workflows can integrate this
> fairly easily? At the moment, I've a JSP utility that is used to create
> new users, and I'd like pre-instantiate the RT user for them (While we do
> use the ExternalAuth LDAP integration, the user still needs to login once
> for IT to add them to the proper queue...)

Here's some code, finally had time.  This is in ruby using only standard
libraries.

-

#!/usr/bin/ruby

require 'net/http'
require 'net/https'

def rest_dump(resp,data)
  puts "=" * 78
  puts "HTTP response code:  #{resp.code}"
  puts "HTTP message: #{resp.message}"
  puts "-" * 78
  puts "Response:"
  resp.each do |key,val|
puts "#{key} => #{val}"
  end
  puts "-" * 78
  puts "Data:"
  puts data
end


http = Net::HTTP.new('tickets.yourdomain.com', 443)
http.use_ssl = true

user = 'root'
pass = 'x'

# Log in to RT and get some data
login = "user=#{user}&pass=#{pass}"
headers = { 'Content-Type' => 'application/x-www-form-urlencoded' }
resp, data = http.post('/REST/1.0/user/toml/show',login,headers)

# Note: you can save the cookie here and not send the user/pass
#   on subsequent requests.  Code omitted for brevity.

rest_dump(resp,data) # display the results of user//show

# create a new user
data = login + "&content=id: user/new\nName: Some One\nEmailAddress:
someo...@somewhere.com"
resp, data = http.post('/REST/1.0/user/new/edit',data,headers)
rest_dump(resp,data)

# edit a user.  For a full field list see "/opt/rt/bin/rt edit -t user 1"
data = login + "&content=id: user/toml\nDisabled: 1\nPassword: newpass\n"
resp, data = http.post('/REST/1.0/user/toml/edit',data,headers)
rest_dump(resp,data)


-- 
-- 
   Tom Lahti
   BIT Statement LLC

   (425)251-0833 x 117
   http://www.bitstatement.net/
-- 
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sa...@bestpractical.com


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


Re: [rt-users] REST add/update a user

2009-03-02 Thread Tom Lahti
>> Well, I can tell you off the top of my head that what you POST is XML, but
>> the contents of that XML are not what you would think.  
> 
> Nope, it's a regular form-encoded post. There's no XML anywhere.

Ah, I was right the first time.  It's been about 2 weeks since I was at the HTTP
level with my library and I thought I remembered XML, but that must have been
for something else.

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

Community help: http://wiki.bestpractical.com
Commercial support: sa...@bestpractical.com


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


Re: [rt-users] REST add/update a user

2009-03-02 Thread Jesse Vincent



On Fri 27.Feb'09 at 15:31:58 -0800, Tom Lahti wrote:
> > Can we please get some example code for this up somewhere so those of us
> > that have automated employee fulfillment workflows can integrate this
> > fairly easily? At the moment, I've a JSP utility that is used to create
> > new users, and I'd like pre-instantiate the RT user for them (While we do
> > use the ExternalAuth LDAP integration, the user still needs to login once
> > for IT to add them to the proper queue...)
> 
> Well, I can tell you off the top of my head that what you POST is XML, but
> the contents of that XML are not what you would think.  

Nope, it's a regular form-encoded post. There's no XML anywhere.
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sa...@bestpractical.com


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


Re: [rt-users] REST add/update a user

2009-02-27 Thread Gary Greene
> -Original Message-
> From: Tom Lahti [mailto:t...@bitstatement.net] 
> Sent: Friday, February 27, 2009 3:32 PM
> To: Gary Greene
> Cc: Joel Schuweiler; rt-users@lists.bestpractical.com
> Subject: Re: [rt-users] REST add/update a user
> 
> > Can we please get some example code for this up somewhere 
> so those of 
> > us that have automated employee fulfillment workflows can integrate 
> > this fairly easily? At the moment, I've a JSP utility that 
> is used to 
> > create new users, and I'd like pre-instantiate the RT user for them 
> > (While we do use the ExternalAuth LDAP integration, the user still 
> > needs to login once for IT to add them to the proper queue...)
> 
> Well, I can tell you off the top of my head that what you 
> POST is XML, but the contents of that XML are not what you 
> would think.  You want one parameter called "content" that 
> contains the RFC822 formatted form as I described, and that's 
> all that's in the XML.  You can see a lot of the fields you 
> can set in the form by doing "/opt/rt/bin/rt edit -t user "
> 
> If you want actual code, that'll take longer and I don't have 
> time today.
> And any code I show you will be in ruby.
> 

Ruby works for me, since I can translate that to Perl or Java fairly easily 
(learned ruby while surrounded by Pythonistas when I was working for Google)

--
Gary L. Greene, Jr.
IT Operations
Minerva Networks, Inc.
Tel:  (408) 240-1239
Cell: (650) 704-6633
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sa...@bestpractical.com


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


Re: [rt-users] REST add/update a user

2009-02-27 Thread Tom Lahti
> Can we please get some example code for this up somewhere so those of us
> that have automated employee fulfillment workflows can integrate this
> fairly easily? At the moment, I've a JSP utility that is used to create
> new users, and I'd like pre-instantiate the RT user for them (While we do
> use the ExternalAuth LDAP integration, the user still needs to login once
> for IT to add them to the proper queue...)

Well, I can tell you off the top of my head that what you POST is XML, but
the contents of that XML are not what you would think.  You want one
parameter called "content" that contains the RFC822 formatted form as I
described, and that's all thats in the XML.  You can see a lot of the fields
you can set in the form by doing "/opt/rt/bin/rt edit -t user "

If you want actual code, that'll take longer and I don't have time today.
And any code I show you will be in ruby.

-- 
-- 
   Tom Lahti
   BIT Statement LLC

   (425)251-0833 x 117
   http://www.bitstatement.net/
-- 
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sa...@bestpractical.com


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


Re: [rt-users] REST add/update a user

2009-02-27 Thread Gary Greene
> -Original Message-
> From: rt-users-boun...@lists.bestpractical.com 
> [mailto:rt-users-boun...@lists.bestpractical.com] On Behalf 
> Of Tom Lahti
> Sent: Friday, February 27, 2009 12:56 PM
> To: Joel Schuweiler
> Cc: rt-users@lists.bestpractical.com
> Subject: Re: [rt-users] REST add/update a user
> 
> Joel Schuweiler wrote:
> > Hrm... I thought xml was standard when doing rest, is this 
> not the case?
> > Is there a method to get rt to handle xml for bother get/post ?
> 
> Nope.  RT uses RFC822 formatted forms, not XML.  You can 
> write a library that transforms your XML into the forms and 
> vice versa, if you want to code to XML for some reason.
> 
> But if you are coding in perl, just use RT::Client::REST from 
> CPAN.  If you are coding in ruby, wait a week or two and I'll 
> be open sourcing a gem.  If you are coding in something else 
> -- write your own. ;)

Can we please get some example code for this up somewhere so those of us that 
have automated employee fulfillment workflows can integrate this fairly easily? 
At the moment, I've a JSP utility that is used to create new users, and I'd 
like pre-instantiate the RT user for them (While we do use the ExternalAuth 
LDAP integration, the user still needs to login once for IT to add them to the 
proper queue...)


--
Gary L. Greene, Jr.
IT Operations
Minerva Networks, Inc.
Tel:  (408) 240-1239
Cell: (650) 704-6633
 
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sa...@bestpractical.com


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


Re: [rt-users] REST add/update a user

2009-02-27 Thread Tom Lahti
Joel Schuweiler wrote:
> Hrm... I thought xml was standard when doing rest, is this not the case?
> Is there a method to get rt to handle xml for bother get/post ?

Nope.  RT uses RFC822 formatted forms, not XML.  You can write a library
that transforms your XML into the forms and vice versa, if you want to code
to XML for some reason.

But if you are coding in perl, just use RT::Client::REST from CPAN.  If you
are coding in ruby, wait a week or two and I'll be open sourcing a gem.  If
you are coding in something else -- write your own. ;)

-- 
-- 
   Tom Lahti
   BIT Statement LLC

   (425)251-0833 x 117
   http://www.bitstatement.net/
-- 
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sa...@bestpractical.com


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


Re: [rt-users] REST add/update a user

2009-02-27 Thread Joel Schuweiler
Hrm... I thought xml was standard when doing rest, is this not the case? Is 
there a method to get rt to handle xml for bother get/post ?

-Original Message-
From: Tom Lahti [mailto:t...@bitstatement.net] 
Sent: Friday, February 27, 2009 2:24 PM
To: Joel Schuweiler
Cc: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] REST add/update a user

Joel Schuweiler wrote:
> Anyone have example code, or know where I can find any, for using rest to 
> add/update/delete users, including their passwords.
> 
> Thanks,
> Joel

It's just a form, with the id: field set to "user/" instead of
"ticket/", and use the "edit" REST method. To create a user, you'd
use the object id "user/new".   The rest of the form would be like:

id: user/new
Name: Some Name
EmailAddress: s...@name.com
Organization: Some Corp
Password: blahblah
Comments: This is a comment.

and so on.

-- 
-- 
   Tom Lahti
   BIT Statement LLC

   (425)251-0833 x 117
   http://www.bitstatement.net/
-- 
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sa...@bestpractical.com


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


Re: [rt-users] REST add/update a user

2009-02-27 Thread Tom Lahti
Joel Schuweiler wrote:
> Anyone have example code, or know where I can find any, for using rest to 
> add/update/delete users, including their passwords.
> 
> Thanks,
> Joel

It's just a form, with the id: field set to "user/" instead of
"ticket/", and use the "edit" REST method. To create a user, you'd
use the object id "user/new".   The rest of the form would be like:

id: user/new
Name: Some Name
EmailAddress: s...@name.com
Organization: Some Corp
Password: blahblah
Comments: This is a comment.

and so on.

-- 
-- 
   Tom Lahti
   BIT Statement LLC

   (425)251-0833 x 117
   http://www.bitstatement.net/
-- 
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sa...@bestpractical.com


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


[rt-users] REST add/update a user

2009-02-27 Thread Joel Schuweiler
Anyone have example code, or know where I can find any, for using rest to 
add/update/delete users, including their passwords.

Thanks,
Joel
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: sa...@bestpractical.com


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