package com.atlassian.jira.rpc.client.sample; import org.apache.xmlrpc.XmlRpcClient; import org.apache.xmlrpc.XmlRpcException; import java.io.IOException; import java.net.MalformedURLException; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Vector; public class PrintProjectsThroughRPC { public static final String JIRA_URI = "http://jira.atlassian.com"; public static final String RPC_PATH = "/rpc/xmlrpc"; public static final String USER_NAME = ""; public static final String PASSWORD = ""; public static void main(String[] args) { try { // Initialise RPC Client XmlRpcClient rpcClient = new XmlRpcClient(JIRA_URI + RPC_PATH); // Login and retrieve logon token Vector loginParams = new Vector(2); loginParams.add(USER_NAME); loginParams.add(PASSWORD); String loginToken = (String) rpcClient.execute("jira1.login", loginParams); // Retrieve projects Vector loginTokenVector = new Vector(1); loginTokenVector.add(loginToken); List projects = (List)rpcClient.execute("jira1.getProjects", loginTokenVector); // Print projects for (Iterator iterator = projects.iterator(); iterator.hasNext();) { Map project = (Map) iterator.next(); System.out.println(project.get("name") + " with lead " + project.get("lead")); } // Log out Boolean bool = (Boolean) rpcClient.execute("jira1.logout", loginTokenVector); System.out.println("Logout successful: " + bool); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (XmlRpcException e) { e.printStackTrace(); } } }