如何使用 JIRA REST 客户端库?

How to use JIRA REST client library?

我需要使用 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>

当我构建项目时,出现如下异常:

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) -

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-appjira-rest-java-client-core 都是 jira-rest-java-client-parent, which uses 版本 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>

5.2.1好像是jira-rest-java-client-core and jira-rest-java-client-app.

这两个的最新版本

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

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

如果您查看存储库

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

中讨论

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

<repositories>
    <repository>
        <id>atlassian-public</id>
        <url>https://packages.atlassian.com/maven/repository/public</url>
    </repository>
</repositories> 

注意事项:jira-rest-java-client 是为 Jira Server 而创建的,而不是 Jira Cloud

几个月前,Atlassian 对 Jira Cloud 进行了更改,这使得无法使用 jira-rest-java-client (JRJC) 在 Jira Cloud 中进行搜索等操作。据我所知,他们不再打算使 JRJC 库与 Jira Cloud 兼容。 Atlassian 提供了一篇关于 how to generate a REST client for Jira Cloud 的文章,但据我所知,他们还没有创建任何类似于 JRJC 的 Jira Cloud 库。