私はRest-Api経由でjavaのjiraインスタンスに接続したいと思っています。だから私は最初にホストへの接続を実装します。Jira Rest Javaクライアント
私は多くのチュートリアルを読んで、JRJCを見つけました。しかし何も働いていない。
*私は以下のライブラリをインポートしようとした
package com.jira.main;
import java.net.URI;
import java.net.URISyntaxException;
import com.atlassian.jira.rest.client.JiraRestClient;
import com.atlassian.jira.rest.client.JiraRestClientFactory;
import com.atlassian.jira.rest.client.domain.Issue;
import com.atlassian.jira.rest.client.domain.User;
import com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory;
import com.atlassian.util.concurrent.Promise;
public class App
{
private static URI uri = URI.create("http://localhost:8080/jira");
public static void main(String[] args) throws URISyntaxException
{
// Construct the JRJC client
System.out.println(String.format("Logging in to %s with username '%s' and password '%s'", "http://localhost:8080/", "bwanke", "Jako2014W!"));
final AsynchronousJiraRestClientFactory factory = new AsynchronousJiraRestClientFactory();
final com.atlassian.jira.rest.client.api.JiraRestClient client = factory.createWithBasicHttpAuthentication(uri, "bwanke", "Jako2014!");
// Invoke the JRJC Client
Promise<com.atlassian.jira.rest.client.api.domain.User> promise = client.getUserClient().getUser("bwanke");
com.atlassian.jira.rest.client.api.domain.User user = promise.claim();
Promise<com.atlassian.jira.rest.client.api.domain.Issue> promiseIssue = client.getIssueClient().getIssue("TEST-1");
com.atlassian.jira.rest.client.api.domain.Issue issue = promiseIssue.claim();
// Print the result
System.out.println(String.format("Your admin user's email address is: %s\r\n", user.getEmailAddress()));
// Print the result
System.out.println("some TEST-1 details " + issue.getAssignee() + " " + issue.getSummary() + " " + issue.getWorklogs());
// Done
System.out.println("Example complete. Now exiting.");
System.exit(0);
}
}
更新:JIRA-残り-javaのクライアント-2.0.0-m2.jar、JIRA-残り-javaのクライアント-3.0.0.jarをjira-rest-java-client-4.0.0.jar
しかし、私はまだ1つの問題があります。
// Invoke the JRJC Client
Promise<User> promise = client.getUserClient().getUser("ezizconduct");
User user = promise.claim();
Promise<Issue> promiseIssue = client.getIssueClient().getIssue("TEST-1");
Issue issue = promiseIssue.claim();
例外は次のとおりです:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
Promise cannot be resolved to a type
The type com.atlassian.util.concurrent.Promise cannot be resolved. It is indirectly referenced from required .class files
The method getUser(String) from the type UserRestClient refers to the missing type Promise
Promise cannot be resolved to a type
The method getIssue(String) from the type IssueRestClient refers to the missing type Promise
at com.jira.main.main(main.java:23)
は、誰もがアイデアを持っていない彼は約束
この部分を見つけることができませんか?
。 。 。
----------------更新 -
- -------------------のMavenをお試しくださいそれから私は、Eclipseで新しいプロジェクトを持っている
のmaven-原型 - クイックスタート1.1
私はライブラリをインポートしませんが、どのクラスも再調整しません。
私Poem.xmlは今です:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jira</groupId>
<artifactId>main</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>main</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.atlassian.fugue</groupId>
<artifactId>fugue</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.4</version>
</dependency>
<dependency>
<groupId>com.atlassian.jira</groupId>
<artifactId>jira-rest-java-client-api</artifactId>
<version>4.0.0</version>
<exclusions>
<exclusion>
<groupId>stax</groupId>
<artifactId>stax-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<!-- JRJC is distributed under the Apache 2.0 license. -->
<groupId>com.atlassian.jira</groupId>
<artifactId>jira-rest-java-client-core</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>atlassian-public</id>
<url>https://m2proxy.atlassian.com/repository/public</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy>
</releases>
</repository>
</repositories>
</project>
さて、私は自分の投稿の内容を更新しました。それは正しい方法ですか? – InfoEngi