0

テストケースをjsonオブジェクトとして取得してみました。Test フォルダーの情報が uri として含まれます。この uri に再度アクセスせずに、そのテスト フォルダーの名前を取得するにはどうすればよいですか。

URI にヒットするとTFxxx、「This is what I need directly..」が表示されます。

jsonObj.get("TestFolder.Name").toString();単純に null を返すas を取得しようとしました。

何か助けはありますか?

4

1 に答える 1

1

以下のコードでは、たまたま TestFolder にある TestCase をクエリし、次のようにフォルダーにトラバースします。

testCaseJsonObject.get("TestFolder").getAsJsonObject().get("Name")

TestFolder の名前を返す完全な例を次に示します。

public class GetTestFolder {

    public static void main(String[] args) throws Exception {

        String host = "https://rally1.rallydev.com";
        String applicationName = "Example: get Folder of TestCase";
        String projectRef = "/project/12352608219";
        String apiKey = "_abc123";
        RallyRestApi restApi = null;
        try {
            restApi = new RallyRestApi(new URI(host),apiKey);
            restApi.setApplicationName(applicationName);
            QueryRequest testCaseRequest = new QueryRequest("TestCase");
            testCaseRequest.setProject(projectRef);

            testCaseRequest.setFetch(new Fetch(new String[] {"FormattedID","Name","TestFolder"}));
            testCaseRequest.setQueryFilter(new QueryFilter("FormattedID", "=", "TC47"));
            testCaseRequest.setScopedDown(false);
            testCaseRequest.setScopedUp(false);

            QueryResponse testCaseResponse = restApi.query(testCaseRequest);
            System.out.println("Successful: " + testCaseResponse.wasSuccessful());
            for (int i=0; i<testCaseResponse.getResults().size();i++){
                JsonObject testCaseJsonObject = testCaseResponse.getResults().get(i).getAsJsonObject();
                System.out.println("Name: " + testCaseJsonObject.get("Name") + " FormattedID: " + testCaseJsonObject.get("FormattedID") + " TestFolder: " + testCaseJsonObject.get("TestFolder").getAsJsonObject().get("Name"));

            }
        } finally {
            if (restApi != null) {
                restApi.close();
            }
        }
    }
}
于 2016-08-01T19:52:29.407 に答える