約 1 か月前にスクリプトを作成し、タグを正常に作成してテストケースに追加することができました。しかし、過去数日間、スクリプトはテストケースにタグを追加できませんでしたが、それでもタグを作成することはできます。ここに私が書いたソースコードがあります:
//Looks for a specific tag
public static void ChkTag(RallyRestApi r, String tagname) throws IOException{
boolean tagfound = false;
QueryRequest alltags = new QueryRequest("Tag");
QueryResponse resp = r.query(alltags);
if(resp.wasSuccessful()){
//System.out.println("query for all tags was successful.");
for(JsonElement result : resp.getResults()){
JsonObject temp = result.getAsJsonObject();
if(temp.get("Name").getAsString().equals(tagname)){
tagfound =true;
}
}
if(tagfound==false){
System.out.println("Tag for this testcase is missing..creating now...");
ExportTCtoRally_adk.createTag(r, tagname);
}
}
}
public static void createTag(RallyRestApi r, String name) throws IOException{
//Create Tag
JsonObject mytag = new JsonObject();
mytag.addProperty("Name", name);
CreateRequest mytagc = new CreateRequest("Tag", mytag);
CreateResponse mytagcc = r.create(mytagc);
String ref_tag = Ref.getRelativeRef(mytagcc.getObject().get("_ref").getAsString());
if(mytagcc.wasSuccessful())
System.out.println("Tag successfully created.");
return;
}
そして、テストケースの作成中に次のコードを実行します。
//-----------------FOR TAGS----------------------
boolean tagfound = false;
if (creating1.wasSuccessful()){
System.out.println("testcase created.");
QueryRequest alltags = new QueryRequest("Tag");
QueryResponse resp = r.query(alltags);
JsonElement out = null;
if(resp.wasSuccessful()){
System.out.println("query for all tags was successful.");
for(JsonElement result : resp.getResults()){
JsonObject temp = result.getAsJsonObject();
if(temp.get("Name").getAsString().equals(tagx)){
System.out.println("desired tag found.");
tagfound=true;
out=result;
}
}
if(tagfound==false){
System.out.println("Tag wasn't found.");
ExportTCtoRally_adk.createTag(r, tagx);
System.out.println("New Tag created.");
}
JsonArray tiger = new JsonArray();
tiger.add(out);
System.out.println("Updating testcase tags...");
JsonObject updatedtesttag = new JsonObject();
updatedtesttag.add("Tags", tiger);
UpdateRequest updatetag = new UpdateRequest(ref_testcase, updatedtesttag);
UpdateResponse updatetagresp = r.update(updatetag);
if(updatetagresp.wasSuccessful())
System.out.println("Tag succeccfully added to the test case");
}
//-----------------------------------------------
ここで何かが2回実行されていることは知っていますが、問題は発生しないので、そのままにしておきます。
だから私の質問は私のコードに何か問題がありますか?
ありがとう。