package com.asana.examples; import com.asana.Client; import com.asana.models.Event; import com.asana.models.Project; import com.asana.models.Workspace; import java.util.List; /** * API Key Instructions: * <p> * 1. set your ASANA_API_KEY environment variable to the API key found in Asana Account Settings */ public class ExampleCreateProjectAndStreamEvents { public static void main(String[] args) throws Exception { if (System.getenv("ASANA_API_KEY") == null) { throw new Error("Please set the ASANA_API_KEY environment variable."); } // create a client with your Asana API key Client client = Client.basicAuth(System.getenv("ASANA_API_KEY")); // find your "Personal Projects" project Workspace personalProjects = null; for (Workspace workspace : client.workspaces.findAll()) { if (workspace.name.equals("Personal Projects")) { personalProjects = workspace; break; } } // create a "demo project" if it doesn't exist List<Project> projects = client.projects.findByWorkspace(personalProjects.id).execute(); Project demoProject = null; for (Project project : projects) { if (project.name.equals("demo project")) { demoProject = project; break; } } if (demoProject == null) { demoProject = client.projects.createInWorkspace(personalProjects.id) .data("name", "demo project") .execute(); } // start streaming modifications to the demo project. // make some changes in Asana to see this working System.out.println("== Streaming events for 'demo project' in 'Personal Projects' workspace:"); for (Event e : client.events.get(demoProject.id)) { System.out.println(e.action + ": " + e.type); } } }