Example #1
0
  public static void test1() throws URISyntaxException, IOException {
    User user = User.getInstance();
    // Create and configure a new instance of RallyRestApi
    RallyRestApi restApi =
        new RallyRestApi(
            new URI("https://rally1.rallydev.com"), user.getUser(), user.getPassword());
    restApi.setApplicationName("QueryExample");

    try {

      System.out.println("Querying for unaccepted stories for current user...");

      QueryRequest defects = new QueryRequest("HierarchicalRequirement");

      defects.setFetch(new Fetch("FormattedID", "Name", "ScheduleState"));
      QueryFilter qf1 = new QueryFilter("Owner.Name", "=", user.getUser());
      QueryFilter qf2 = new QueryFilter("ScheduleState", "<", "Accepted");
      defects.setQueryFilter(qf1.and(qf2));
      defects.setOrder("FormattedID DESC");

      // Return up to 20, 1 per page
      defects.setPageSize(1);
      defects.setLimit(20);

      QueryResponse queryResponse = restApi.query(defects);
      if (queryResponse.wasSuccessful()) {
        System.out.println(
            String.format("\nTotal results: %d", queryResponse.getTotalResultCount()));
        System.out.println("unaccept stories:");
        for (JsonElement result : queryResponse.getResults()) {
          JsonObject defect = result.getAsJsonObject();
          System.out.println(
              String.format(
                  "\t%s - %s - ScheduleState:%s",
                  defect.get("FormattedID").getAsString(),
                  defect.get("Name").getAsString(),
                  defect.get("ScheduleState").getAsString()));
        }
      } else {
        System.err.println("The following errors occurred: ");
        for (String err : queryResponse.getErrors()) {
          System.err.println("\t" + err);
        }
      }

    } finally {
      // Release resources
      restApi.close();
    }
  }