如何使用JIRA REST客户端库?

DP_*_*DP_ 5 java jira maven jira-rest-java-api jira-rest-api

我需要使用 JIRA REST 客户端版本 5.2.0 或更高版本。Cloud JIRA 不适用于早期版本的客户端。

在我的pom.xml文件中,我有以下依赖项:

<dependency>
    <groupId>com.atlassian.jira</groupId>
    <artifactId>jira-rest-java-client-core</artifactId>
    <version>5.2.1</version>
</dependency>
<dependency>
    <groupId>com.atlassian.jira</groupId>
    <artifactId>jira-rest-java-client-app</artifactId>
    <version>5.2.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

当我构建项目时,我遇到这样的异常:

Failed to execute goal on project XXXXXXXXX: Could not resolve dependencies for project  XXXXXXXXXX:jar:XXXX: Failed to collect dependencies at com.atlassian.jira:jira-rest-java-client-core:jar:5.2.1: Failed to read artifact descriptor for com.atlassian.jira:jira-rest-java-client-core:jar:5.2.1: Could not find artifact com.atlassian.platform:platform:pom:3.1.7 in MY_REPO (http://XXXXXXXXXX/repository/maven-public) -
Run Code Online (Sandbox Code Playgroud)

com.atlassian.platform:platform:pom:3.1.7未在mvnrepository中列出。有版本3.1.123.1.17,但没有3.1.7。有人告诉我该版本3.1.7可能存在与安全相关的错误,因此被 Atlassian 删除。

jira-rest-java-client-app都是jira-rest-java-client-parentjira-rest-java-client-core的子级,它使用该平台的版本:3.1.7

    <groupId>com.atlassian.jira</groupId>
    <artifactId>jira-rest-java-client-parent</artifactId>
    <version>5.2.1</version>
    <packaging>pom</packaging>

    [...]

    <properties>
        <platform.version>3.1.7</platform.version>

        [...]

    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.atlassian.platform</groupId>
                <artifactId>platform</artifactId>
                <version>${platform.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
Run Code Online (Sandbox Code Playgroud)

5.2.1似乎是jira-rest-java-client-corejira-rest-java-client-app的最新版本。

当 JIRA REST 客户端(以编程方式在 Cloud JIRA 中创建问题)使用不再可用的库版本时,如何使用它?

我尝试在依赖项中排除该平台,并在依赖项管理部分中指定另一个版本。这没有帮助。

reo*_*wil 7

接受的答案是绝对正确的。对于任何来这里寻找答案的人来说,如何能够从https://packages.atlassian.com获取工件的一个具体示例是repository在您的 pom 中包含一个元素,如下所示:

<repositories>
    <repository>
        <id>atlassian-public</id>
        <url>https://packages.atlassian.com/maven/repository/public</url>
    </repository>
</repositories> 
Run Code Online (Sandbox Code Playgroud)

但请注意:jira-rest-java-client 是为与 Jira Server 一起使用而创建的,而不是与 Jira Cloud 一起使用

几个月前,Atlassian 对 Jira Cloud 进行了更改,导致无法使用jira-rest-java-client(JRJC) 进行 Jira Cloud 中的搜索等操作。据我所知,他们不再打算使 JRJC 库与 Jira Cloud 兼容。Atlassian提供了一篇关于如何为Jira Cloud生成REST客户端的文章,但据我所知,他们还没有创建任何类似于JRJC的Jira Cloud库。


JF *_*ier 4

如果您查看存储库

https://packages.atlassian.com/mvn/maven-external

从 atlassian 中,您可以在那里找到所需的工件com.atlassian.platform:platform:pom:3.1.7。由于这个存储库似乎来自 atlassian,我认为没有理由相信他们建议不使用该版本。

https://community.atlassian.com/t5/Jira-questions/Jira-rest-java-client-core-5-1-and-fugue-2-7-0-breaks-build/qaq中也对此进行了讨论-p/1151091