Javaを使用したRallyRESTAPIのソリューションは、1つのワークスペース内で正常に機能しています。ワークスペースが異なる場合は、テストケースの結果を挿入することをお勧めします。以下で詳細に説明するように、私は次の状況で立ち往生しています:*
設定
- ユーザーにはデフォルトのワークスペース/プロジェクト設定があります-XXX/PPP-TC1が存在します。
- ユーザーは別のワークスペース/プロジェクト設定にアクセスできます-YYY/QQQ-TC1が存在します-更新するテストケース。
- RallyWS1.36および1.37を使用してみました。
- Rally1.0および1.0.2-jar[および該当する関連ライブラリ]を試しました
手順
ワークスペースYYYでテストケースTC1の結果を設定しようとしていますが、更新されていないようで、次のエラーで失敗します。
// Query for Test Case to which we want to add results
QueryRequest testCaseRequest = new QueryRequest("TestCase");
testCaseRequest.setFetch(new Fetch("FormattedID","Name"));
testCaseRequest.setQueryFilter(new QueryFilter("FormattedID", "=", testCaseId));
String workspaceRef = "/workspace/YYY";
String projectRef = "/project/QQQ";
testCaseRequest.setWorkspace(workspaceRef);
testCaseRequest.setProject(projectRef);
QueryResponse testCaseQueryResponse = restApi.query(testCaseRequest);
JsonObject testCaseJsonObject = testCaseQueryResponse.getResults().get(0).getAsJsonObject();
String testCaseRef = testCaseJsonObject.get("_ref").toString();
//Add a Test Case Result
System.out.println("Creating Test Case Result...");
JsonObject newTestCaseResult = new JsonObject();
newTestCaseResult.addProperty("Verdict", result);
java.util.Date date= new java.util.Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
String timestamp = sdf.format(date);
newTestCaseResult.addProperty("Date", timestamp);
newTestCaseResult.addProperty("Notes", "Automated Test Runs");
newTestCaseResult.addProperty("Build", build);
newTestCaseResult.addProperty("Tester", userRef);
newTestCaseResult.addProperty("TestCase", testCaseRef);
CreateRequest createRequest = new CreateRequest("testcaseresult", newTestCaseResult);
CreateResponse createResponse = restApi.create(createRequest);
これは、このエラーで最後の行で失敗します。
"{"CreateResult": {"_rallyAPIMajor": "1", "_rallyAPIMinor": "37", "Errors": ["Could not set value for Test Case: Cannot connect object to value, Test Case value is in a different workspace. [object workspace OID=XXX, value workspace OID=YYY"], "Warnings": []}}"