0

TeamCity から Rally への統合の一部として Rally Build Records を作成していますが、Build と ChangeSet の関連付けに問題があります。

特定の条件に一致する一連の関連する ChangeSet を見つけて、それらを文字列の配列に格納します。次に、JsonArray オブジェクトを作成し、これらの「_ref」文字列を JsonPrimatives として配列に追加し、その配列を作成した Json オブジェクトに追加して Rally に追加します。

ただし、ビルドは作成されますが、結果には空の Changeset 配列が含まれます。

createRequest に変更セットを含め、updateRequest を実行しようとしましたが、どちらの場合も応答は成功で、エラーや警告は報告されず、Changeset 配列は null として返され、再クエリを実行すると他のすべてのデータが期待どおりに表示されますが、 changeSet 配列が空です。

これがコードです。

JsonObject obj = new JsonObject();
obj.addProperty("Workspace", def.getWorkspace().getRef());
obj.addProperty("Duration",1.05);
obj.addProperty("Message", "Master 4683 Success");
obj.addProperty("Start", isoFormat.format(new Date()));
obj.addProperty("Status","SUCCESS");
obj.addProperty("Number","4683");
obj.addProperty("Uri", "http://");
obj.addProperty("BuildDefinition",def.getRef());

// changeSets is a ArrayList<String> of "_ref" strings of VALID changesets references. 
if (changeSets != null && changeSets.size() > 0) {
    JsonArray changeSetList = new JsonArray();
    for (String id : changeSets) {
        changeSetList.add(new JsonPrimitive(id));
    }
    obj.add("Changesets", changeSetList);
}

String ref = connector.Create("Build",obj);
connector.Delete(ref, null);

何か案は?

4

1 に答える 1