TransWikia.com

RedmineのフォーラムにRest APIを使って取得や投稿する方法はありますか?

スタック・オーバーフロー Asked by payaneco on December 24, 2021

表題の通り、RedmineのRest APIからフォーラムの内容の取得や投稿をする方法はあるのでしょうか。

RedmineはRest APIを使ってチケットの作成やWikiの編集など、様々な処理を行うことができます。
しかしRedmineの基本機能であるフォーラムのトピックにコメントを追加する方法が分かりませんでした。(Redmineフォーラムに類似質問が投稿されています)
Rest APIのヘルプにも関連項目が見つからず、フォーラムのトピックを取得しようとすると401例外が発生してしまいます。

Rest APIアクセスを試したバージョンは下記です。
どちらも同一の動作となり、チケットやWikiの取得更新はできますがフォーラムの取得に失敗します。

  • 3.1.0.stable
  • 4.0.4.stable

例えばc#で例外を出すコード例は以下です。(今回の主眼は言語ではありませんが、試した環境はC#のみです)

using System;
using System.IO;
using System.Net;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Issueは"200 OK"で文字列を返す
            Console.WriteLine(GetHttpResponse("http://{Redmine}/issues/{i}.xml?key={api_key}"));
            // TopicsはWebException "リモート サーバーがエラーを返しました: (401) 許可されていません" が発生する
            Console.WriteLine(GetHttpResponse("http://{Redmine}/boards/{j}/topics/{k}.xml?key={api_key}"));
        }
        /// <summary>
        /// HttpWebRequestでGetResponseするだけのコード
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        /// <remarks>要System.Web.dll参照</remarks>
        private static string GetHttpResponse(string url)
        {
            var req = WebRequest.CreateHttp(url);
            using (var res = req.GetResponse())
            using (var stream = res.GetResponseStream())
            using (var reader = new StreamReader(stream))
            {
                return reader.ReadToEnd();
            }
        }
    }
}

One Answer

フォーラムを操作するRest APIの情報について、継続して探しても見つからないのでコメントの通り未対応だと判断しました。

@kunif さんの回答コメントが日本語で詳しいです。

Answered by payaneco on December 24, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP