Код создания проблемы Redmine - PullRequest
0 голосов
/ 19 февраля 2012

В настоящее время я пишу плагин, который создает новую проблему через запрос http post.В настоящее время у меня возникают проблемы с созданием и сохранением новой проблемы.Каждый раз, когда я вызываю IssueSave, он возвращает 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

Ответы [ 3 ]

1 голос
/ 19 февраля 2012

Произошла какая-то ошибка!Изучите информацию о проблеме.проблемы, чтобы проверить, какие:

Rails.logger.info issue.errors.inspect
0 голосов
/ 19 февраля 2012

Спасибо за все ваши быстрые ответы, они значительно помогли мне.

После вызова issue.errors.full_messages я обнаружил, что не могу сохранить проблему, поскольку не заданы обязательные настраиваемые поля.

Я добавил следующий код перед вызовом вопроса.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
0 голосов
/ 19 февраля 2012

Вы можете создавать проблемы (и многое другое) в Redmine, используя REST API .

...