4

Rally Web サイトを使用してタスクを削除しましたが、REST API を使用してタスクを検索しても返されません。「リサイクル済み」というフラグで返されるはずだと思いました。

誰でも私を助けることができますか?

よろしく、 パウロ

4

2 に答える 2

1

これは WSAPI の矛盾です。残念ながら、すべてのクエリは暗黙的にスコープが設定されている (Recycled = false) ため、削除されたものはアーティファクト エンドポイントから返されることはありません。また、WSAPI を介してごみ箱の内容にアクセスする方法もありません。

https://ideas.rallydev.com/ideas/D2374で、この機能のアイデアに投票することをお勧めします。

于 2013-02-10T17:40:28.910 に答える
1

理想的ではありませんが、次の REST エンドポイントを介してごみ箱にアクセスできます。

https://rally1.rallydev.com/slm/webservice/1.40/recyclebin.js?workspace=/workspace/12345678910&project=/project/12345678911

長整数は、関心のあるワークスペースとプロジェクトの OID です。

ごみ箱のエントリは次のようになります。

{
    _rallyAPIMajor: "1",
    _rallyAPIMinor: "40",
    _ref: "https://rally1.rallydev.com/slm/webservice/1.40/recyclebinentry/12345678910.js",
    _refObjectName: "Test Case 3: Load in, run Analysis on Integer Grids",
    _type: "RecycleBinEntry"
}

ごみ箱の OID は一意であり、削除されたアーティファクトの OID とは異なるため、ごみ箱エントリを削除されたアーティファクトにマップして作成する良い方法はありません。オブジェクト名は機能しますが、重複のリスクがあります。ごみ箱のエントリにも、UI のごみ箱と同じ制限があります。子オブジェクトは表示されず、アクセスできません。

.NET からごみ箱を移動する場合の簡単な例を次に示します。

 namespace RestExample_QueryRecycleBin  {
    class Program
    {
        static void Main(string[] args)
        {

            //Initialize the REST API
            RallyRestApi restApi;

            String userName = "user@company.com";
            String userPassword = "topsecret";

            // Set Rally parameters
            String rallyURL = "https://rally1.rallydev.com";
            String rallyWSAPIVersion = "1.40";

            //Initialize the REST API
            restApi = new RallyRestApi(userName,
                                       userPassword,
                                       rallyURL,
                                       rallyWSAPIVersion);

            // Specify workspace and project
            string myWorkspace = "/workspace/12345678910";
            string myProject = "/project/12345678911";

            //Query for items

            Request request = new Request("recyclebinentry");
            request.Workspace = myWorkspace;
            request.Project = myProject;

            QueryResult queryResult = restApi.Query(request);

            foreach (var result in queryResult.Results)
            {
                //Process item
                string itemName = result["_refObjectName"];
                string itemRef = result["_ref"];
                Console.WriteLine(itemRef + ", " + itemName);
            }

            Console.ReadKey();
        }
    }
}
于 2013-02-10T18:27:34.093 に答える