質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.34%

Redmine:ニュースのAPI登録可否について

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,305

score 15

前提・実現したいこと

APIでニュースを登録することは可能でしょうか。
(下記のURLを見るとGETメソッドしか実装されていないようにも見える。)
https://www.redmine.org/projects/redmine/wiki/Rest_News

発生している問題・エラーメッセージ

curl -XPOST http://localhost/redmine/news.json?key=xxxxx -d '{
"news": {
  "project_id": "1",
  "author_id": "6",
  "title": "test",
  "summary": "",
  "description": "memo"
}'
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title>Redmine 404 error</title>
  <style>
    body {font-family: "Trebuchet MS", Georgia, "Times New Roman", serif; color: #303030; margin: 10px;}
    h1 {font-size:1.5em;}
    p {font-size:0.8em;}
  </style>
</head>
<body>
  <h1>Page not found</h1>
  <p>The page you were trying to access doesn't exist or has been removed.</p>
  <p><a href="javascript:history.back()">Back</a></p>
</body>
</html>

試したこと

APIでニュース情報が取得できることは確認済み。

# curl -s -XGET http://localhost/redmine/news.json | jq .news[0]
{
  "id": 5,
  "project": {
    "id": 1,
    "name": "テストプロジェクト"
  },
  "author": {
    "id": 6,
    "name": "テストユーザ"
  },
  "title": "20191024_メモ",
  "summary": "",
  "description": "メモです。",
  "created_on": "2019-10-24T01:13:54Z"
}

補足情報(FW/ツールのバージョンなど)

Environment:
Redmine version                3.4.11.stable.18600
Ruby version                   2.4.1-p111 (2017-03-22) [x86_64-linux]
Rails version                  4.2.11.1
Environment                    production
Database adapter               PostgreSQL
SCM:
Subversion                     1.7.14
Git                            1.8.3.1
Filesystem

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+3

../redmine/app/controllers/news_controller.rb のファイルを修正して、

修正前:accept_api_auth :index
修正後:accept_api_auth :index, :create

とすれば、POSTもできます。

*ですが、現在のコードで許可していないのはなぜでしょうね。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/10/26 14:34 編集

    私の環境でもニュースの登録ができました。ありがとうございます。
    最後に2点教えて下さい。
    1.ニュースの登録時にリダイレクト(302)が返ってきます。チケットをAPIで登録した際はOK(200)でしたので気になりました。
    <html><body>You are being <a href="http://localhost/redmine/projects/プロジェクト名/news">redirected</a>.</body></html>
    2.URLを/redmine/projects/プロジェクト名とすることはどのようにして分かったのでしょうか?(トライ&エラーでしょうか。)

    キャンセル

  • 2019/10/26 15:38

    1. 理由はよくわからないですが、news_controller.rbのcreateアクションの中で、redirect_to project_news_index_path(@project) しているからですかね。

    2.WikiのPOSTを参考にしました。
    https://www.redmine.org/projects/redmine/wiki/Rest_WikiPages

    キャンセル

  • 2019/10/26 15:46

    勉強になります。ありがとうございました。

    キャンセル

0

ここの表を見るとそもそもGETでのニュース一覧取得もプロトタイプ扱いなので、登録はまだまだなのでしょう。

Redmine API - API Description

News    Prototype    Prototype implementation for index only    1.1

質問者さんが作ってcontributeすれば、喜ばれると思いますよ。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.34%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る