title: Connect Java rest API to JIra
body: <p>I want to connect Java with JIRA trial account. I tested this code:</p>
  
  <pre><code>public class JiraImpl
  {
      private static URI JIRA_URL = URI.create("https://sonoratest.atlassian.net");
      private static final String JIRA_ADMIN_USERNAME = "sonoratestw@gmail.com";
      private static final String JIRA_ADMIN_PASSWORD = "sonpass";
  
      public static void main(String[] args) throws IOException, InterruptedException, ExecutionException
      {
          try
          {
              AsynchronousJiraRestClientFactory factory = new AsynchronousJiraRestClientFactory();
              JiraRestClient restClient = factory.createWithBasicHttpAuthentication(JIRA_URL, JIRA_ADMIN_USERNAME, JIRA_ADMIN_PASSWORD);
  
              Iterable&lt;BasicProject&gt; allProjects = restClient.getProjectClient().getAllProjects().claim();
          }
          catch (Exception e)
          {
              e.printStackTrace();
          }
      }
  }
  </code></pre>
  
  <p>But when I run it nothing happens. Wahat is the proper way to get data from JIRA using REST API?</p>
  
  <p><strong>Update.</strong> I also tried this:</p>
  
  <pre><code>private static URI JIRA_URL = URI.create("https://sonoratest.atlassian.net/rest/auth/1/session");
  </code></pre>
  
  <p>I get </p>
  
  <pre><code>java.util.concurrent.ExecutionException: RestClientException{statusCode=Optional.of(404), errorCollections=[ErrorCollection{status=404, errors={}, errorMessages=[]}]}
      at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
      at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
      at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
      at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63)
      at com.atlassian.jira.rest.client.internal.async.DelegatingPromise.get(DelegatingPromise.java:102)
      at com.jira.impl.JiraImpl.main(JiraImpl.java:23)
  Caused by: RestClientException{statusCode=Optional.of(404), errorCollections=[ErrorCollection{status=404, errors={}, errorMessages=[]}]}
  </code></pre>