我正在使用以下代码段尝试在Rally中创建一个Initiative(我在调试时获得的_ref所使用的值)。

public void createInitiative() {
    CreateRequest request = null;
    CreateResponse response = null;

    JsonObject jo = new JsonObject();

    String wsRef = "/workspace/11785043049";
    String prjRef = "/project/11785043139";

    jo.addProperty("Workspace",  wsRef);
    jo.addProperty("Project", prjRef);
    jo.addProperty("Name","api_create_initiative_01");
    jo.addProperty("Owner","/user/17085226946");
    jo.addProperty("_ref",  "/portfolioItem/initiative");
    jo.addProperty("_type", "portfolioItem/initiative");

    request = new CreateRequest("Initiative", jo);

    try {
        response = api.create(request);
        JsonElement je = response.getObject();
        System.out.println(je.getAsString());
    } catch (IOException e) {
        e.printStackTrace();
    }

}


响应为:
{“ CreateResult”:{“ _rallyAPIMajor”:“ 2”,“ _rallyAPIMinor”:“ 0”,“ Errors”:[“未授权执行操作:无效密钥”],“ Warnings”:[“不再需要将\“。js \”附加到WSAPI资源。“]}}

我不知道哪个"key"是无效的。
另外,不确定我应该使用“ Initiative”还是“ PortfolioItem / Initiative”都失败

最佳答案

找到安全令牌后,需要将它们附加到文档中指定的url上。
我已经从rallyapi测试程序中蚕食了用于api设置的代码,并且执行创建时未附加安全令牌。同样,我上面的代码段也必须更改为create(“ PortfolioInitiative”,jo),并且不需要属性“ _type”

09-26 05:13