Creating issue via api
Added by jon morgan about 14 years ago
Hi,
I have the following code that uses httparty in an attempt to create an issue via the api:
self.class.base_uri @api_url self.class.basic_auth @api_username, @api_password self.class.headers 'content-type' => 'text/xml' self.class.post("/issues.xml", :body => {:issue => {:subject => 'test, :description => 'test, :project_id => 1}})
However whenever this gets run I get the following error, does anyone know what is going wrong and how to fix this?
/!\ FAILSAFE /!\ Sun Oct 31 12:23:22 +0000 2010 Status: 500 Internal Server Error undefined method `name' for nil:NilClass /Users/scott/rails_apps/redmine-1.0/vendor/rails/activesupport/lib/active_support/whiny_nil.rb:52:in `method_missing' /Users/scott/rails_apps/redmine-1.0/vendor/rails/activesupport/lib/active_support/xml_mini/rexml.rb:29:in `merge_element!' /Users/scott/rails_apps/redmine-1.0/vendor/rails/activesupport/lib/active_support/xml_mini/rexml.rb:18:in `parse' /Users/scott/rails_apps/redmine-1.0/vendor/rails/activesupport/lib/active_support/xml_mini.rb:12:in `__send__' /Users/scott/rails_apps/redmine-1.0/vendor/rails/activesupport/lib/active_support/xml_mini.rb:12:in `parse' /Users/scott/rails_apps/redmine-1.0/vendor/rails/activesupport/lib/active_support/core_ext/hash/conversions.rb:164:in `from_xml' /Users/scott/rails_apps/redmine-1.0/vendor/rails/actionpack/lib/action_controller/params_parser.rb:34:in `parse_formatted_parameters' /Users/scott/rails_apps/redmine-1.0/vendor/rails/actionpack/lib/action_controller/params_parser.rb:11:in `call' /Users/scott/rails_apps/redmine-1.0/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb:93:in `call' /Users/scott/rails_apps/redmine-1.0/vendor/rails/actionpack/lib/action_controller/failsafe.rb:26:in `call' /Users/scott/.gem/ruby/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call' /Users/scott/.gem/ruby/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `synchronize' /Users/scott/.gem/ruby/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call' /Users/scott/rails_apps/redmine-1.0/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:114:in `call' /Users/scott/rails_apps/redmine-1.0/vendor/rails/actionpack/lib/action_controller/reloader.rb:34:in `run' /Users/scott/rails_apps/redmine-1.0/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:108:in `call' /Users/scott/rails_apps/redmine-1.0/vendor/rails/railties/lib/rails/rack/static.rb:31:in `call' /Users/scott/.gem/ruby/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:46:in `call' /Users/scott/.gem/ruby/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in `each' /Users/scott/.gem/ruby/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in `call' /Users/scott/rails_apps/redmine-1.0/vendor/rails/railties/lib/rails/rack/log_tailer.rb:17:in `call' /Users/scott/.gem/ruby/1.8/gems/rack-1.0.1/lib/rack/content_length.rb:13:in `call' /Users/scott/.gem/ruby/1.8/gems/rack-1.0.1/lib/rack/chunked.rb:15:in `call' /Users/scott/.gem/ruby/1.8/gems/rack-1.0.1/lib/rack/handler/mongrel.rb:64:in `process' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:159:in `process_client' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:158:in `each' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:158:in `process_client' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:285:in `run' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:285:in `initialize' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:285:in `new' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:285:in `run' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:268:in `initialize' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:268:in `new' /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.4/lib/mongrel.rb:268:in `run' /Users/scott/.gem/ruby/1.8/gems/rack-1.0.1/lib/rack/handler/mongrel.rb:34:in `run' /Users/scott/rails_apps/redmine-1.0/vendor/rails/railties/lib/commands/server.rb:111 /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require' script/server:3
Replies (2)
RE: Creating issue via api - Added by Holger Just about 14 years ago
It seems to me, you are missing some quotation marks in line 4 of your code.
Also, in the request hash which is logged above the quoted stack trace, make sure the params look valid. As they would look when you create the issue by hand.
RE: Creating issue via api - Added by jon morgan about 14 years ago
Hi,
Thanks for your reply, I have tried entering the missing required fields (guess I was expecting this to fall back to the default), unfortunately, this hasn't made any difference and the same error message still exits.
Here's the updated code:
response = self.class.post("/issues.xml", :body => {:issue => {
:subject => issue_tracker_title,
:description => issue_tracker_body,
:project_id => issue_tracker_project_id,
:tracker_id => 1,
:status_id => 1,
:priority_id => 4}
})