0

我目前正在编写一个插件,通过 http post 请求创建一个新问题。我目前在创建和保存新问题时遇到问题。每次我调用 issue.save 时,它​​都会返回 false。我希望有人能指出我正确的方向。先感谢您

这是我目前拥有的代码:

issue = Issue.new
issue.tracker = Tracker.find_by_name("Bug")
issue.subject = params[:subject]
issue.description = params[:description]
issue.project = Project.find_by_name(params[:project])
issue.start_date = Time.now.localtime.strftime("%Y-%m-%d")
issue.priority = IssuePriority.find_by_name("Normal")
issue.author = User.find_by_mail("XXX@gmail.com")
issue.status = IssueStatus.find_by_name("New")
issue.save
4

3 回答 3

1

出现一些错误!检查 issue.errors 以检查哪些:

Rails.logger.info issue.errors.inspect
于 2012-02-18T22:55:53.943 回答
0

您可以使用REST API在 Redmine 中创建问题(并执行许多其他操作)。

于 2012-02-19T03:42:36.383 回答
0

感谢您的所有快速回复,他们对我帮助很大。

调用后issue.errors.full_messages,我发现我无法保存问题,因为未设置所需的自定义字段。

我在调用 issue.save 之前添加了以下代码

  issue.custom_values = [
    create_custom_value(CustomField.find_by_name("StackTrace").id, params[:stackTrace]),
    ... more custom values ...
  ]

这也是我的 create_custom_value 方法

# returns a new custom value
def create_custom_value(field_id, value)
  custom_value = CustomValue.new
  custom_value.custom_field_id = field_id
  custom_value.value = value
  custom_value.customized_type = "Issue"
  return custom_value
end
于 2012-02-19T14:35:56.460 回答