0

私は現在、httppostリクエストを介して新しい問題を作成するプラグインを書いています。現在、新しい問題の作成と保存で問題が発生しています。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でIssueを作成(および他の多くのことを行う)できます。

于 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 に答える