【问题标题】:How to use JIRA REST client library?如何使用 JIRA REST 客户端库?
【发布时间】:2020-06-11 17:27:18
【问题描述】:

我需要使用 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 的子代,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-corejira-rest-java-client-app 的最新版本。

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

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

【问题讨论】:

  • 对不起,我理解你的问题可能是错误的..但你可以在私人仓库中拥有所需的版本..并将其添加到你的 ~/.m2/settings 作为 第三方
  • @YatishKadam 我不想使用版本3.1.7,因为我认为 Atlassian 出于某种原因将其删除。如果我使用它,我的系统可能存在一些安全问题。我在问如何以正确的方式解决问题(不使用过时且可能有缺陷的平台版本)。
  • 您是否尝试过更新 JIRA REST 客户端上的 pom 文件?使用最新版本并查看是否构建?

标签: java maven jira jira-rest-api jira-rest-java-api


【解决方案1】:

如果您查看存储库

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

从 atlassian,您可以找到所需的工件 com.atlassian.platform:platform:pom:3.1.7there。由于这个存储库似乎来自 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中讨论

【讨论】:

    【解决方案2】:

    接受的答案是绝对正确的。一个关于如何从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 库。

    【讨论】:

      猜你喜欢
      • 2020-06-19
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多