Redmine API - 创建问题

时间:2013-02-14 15:19:21

标签: redmine redmine-api

我正在尝试使用Redmine的API来创建问题,但它似乎没有让我指定谁提交票证。我尝试过author_id,但似乎没有效果。

这就是POST中的JSON数据:

    {
        "issue": {
            "author_id": 3,
            "project_id": 26,
            "subject": "Q-12345678",
            "description": "This is a test"
        }
    }

正在创建该问题,但作者将被设置为匿名。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

好吧,我明白了。事实证明,author_id未设置为“安全参数”。

我打开了app/models/issue.rb并在第337行添加了author_id

所以现在这段代码看起来像这样:

    safe_attributes 'tracker_id',
      'status_id',
      'category_id',
      'author_id',
      'assigned_to_id',
      'priority_id',
      'fixed_version_id',
      'subject',
      'description',
      'start_date',
      'due_date',
      'done_ratio',
      'estimated_hours',
      'custom_field_values',
      'custom_fields',
      'lock_version',
      'notes',
      :if => lambda {|issue, user| issue.new_record? || user.allowed_to?(:edit_issues, issue.project) }

修改

我认为这可能是app/models/issue.rb(第375行)

中更好的解决方案

    safe_attributes 'parent_issue_id',
        :if => lambda {|issue, user| (issue.new_record? || user.allowed_to?(:edit_issues, issue.project)) &&
          user.allowed_to?(:manage_subtasks, issue.project)}

我添加了

    safe_attributes 'author_id',
        :if => lambda {|issue, user| issue.new_record? || user.allowed_to?(:admin, issue.project)}