Defect #22628
closedCreate issue with custom fields with ruby API
0%
Description
Hey!
I'm trying to create an issus in ruby script with one custom_field. I've created custom field (down drop list with 5 values) with web interface. I tried to do this according to wiki: Rest_api_with_ruby, but I think this wiki page is out of date. I searched for older tickets, found that 'custom_field_values' isn't used anymore, the new approach is to do this with array 'custom_fields' and by update operation (get issue by id and set values in custom_fields array).
The example given in wiki throws error:
ActiveResource::BadRequest: Failed. Response code = 400. Response message = Bad Reques
The best solution would be to assign the right value while creating issue (one save operation), I don't want to create it in first step, and then set the right value of custom field with update method (two save operations).
Is it possible? Please, correct the wiki page if it's deprecated.
Thx for help.
gary
Updated by Toshi MARUYAMA over 8 years ago
You can edit wiki Rest_api_with_ruby.
Updated by Marcin Garski over 8 years ago
Ok, but I haven't figured it out how should it be done. Should I use ':custom_fields' symbol while creating a new Issue?? That's my problem. :) I can't figure out the syntax.
Updated by Marcin Garski over 8 years ago
- Status changed from New to Resolved
Ok, great, found solution. We need to pass array of hashes as value.
For example, we've created custom_field named "location" with 2 options (IT,office). Let's assume that redmine created this custom_field with id=2 (second custom_field in system, you can check it in your DB), so if we want to add new issue with location: IT it should be:
# Creating an issue
issue = Issue.new(
:subject => 'REST API',
:assigned_to_id => 1,
:project_id => 1
:custom_fields => [{id: 2, value: "IT"}]
)
if issue.save
puts issue.id
else
puts issue.errors.full_messages
end
works for me! :)
Updated by Toshi MARUYAMA over 8 years ago
- Status changed from Resolved to Closed