第 14 章 连接到 JIRA


在集成中,您可以连接到 JIRA 服务器来获取、创建或更新问题。JIRA 是一个用于规划、跟踪和管理软件开发项目的工具。每个 JIRA 环境都允许自定义工作流,对在集成中连接到 JIRA 的详细信息产生影响。您的 JIRA 管理员咨询应阐明详细信息。

以下主题提供了创建连接到 JIRA 服务器的集成的信息和流程:

集成可以连接到使用 OAuth 协议验证访问权限的 JIRA 服务器。要启用此功能,请将您的 Fuse Online 环境注册为 JIRA 客户端应用程序。JIRA 客户端应用程序也被称为 JIRA consumers。换句话说,您的 Fuse Online 环境是一个 JIRA 消费者。

注意

当 JIRA 服务器只使用基本身份验证时,不需要注册。

按照这里的步骤获取您需要创建 Fuse Online 连接到 JIRA 的 JIRA OAuth 凭证。有关注册 JIRA 消费者的更多详细信息,包括一个教程,它们通过示例服务器帮助您完成 有关 OAuth for REST API的步骤。

在将 Fuse Online 与 JIRA 服务器注册后,您可以使用 Fuse Online 创建与此 JIRA 服务器的连接。任意数量的集成都可使用同一 JIRA 连接。但是,如果要创建另一个 JIRA 连接,您必须重复这里提供的注册步骤来获取另一组 OAuth 凭证。

主要步骤概述

注册过程中的主要步骤是:

  • 获取 Atlassian 命令行应用程序,可让您获取 OAuth 凭证。
  • 运行下载的应用程序以创建 config.properties 文件。
  • 创建一个公钥/私钥对,Fuse Online 用来访问 JIRA 服务器。
  • 编辑 config.properties 文件,以更新其中的一些值。
  • 配置 JIRA 服务器,将您的 Fuse 在线环境识别为消费者应用。
  • 获取 Fuse Online 访问您 JIRA 服务器上的数据的 JIRA 访问令牌。

每个步骤都有几个子步骤,以下过程提供了详细信息。

先决条件

  • JIRA 服务器管理权限。
  • 熟悉命令行界面.

流程

  1. 获取 Atlassian 命令行应用程序,可让您获取 OAuth 凭证:

    1. 转到 atlassian-oauth-examples 页面
    2. 在左侧面板中,单击 Downloads
    3. Downloads 页面上,单击 Download repository
    4. 将该文件提取到您选择的目录中。
  2. 运行下载的 应用程序为 OAuth 凭证创建 config.properties 文件:

    1. 在终端中,导航到包含提取的内容的目录。
    2. 进入 java 目录并构建客户端:

      cd atlassianlabs-atlassian-oauth-examples-dd0264cad043/java
      mvn clean compile assembly:single
      Copy to Clipboard Toggle word wrap
    3. 切换到 目标目录 并生成 config.properties 文件:

      cd target
      java -jar OAuthTutorialClient-1.0.jar requestToken
      Copy to Clipboard Toggle word wrap

    您可以忽略连接异常。在 目标 目录中,现在有一个 config.properties 文件,其中包含一些临时密钥。

  3. 生成 Fuse Online 访问 JIRA 服务器所需的公钥/私钥对。虽然您可以在任何位置运行这些命令,但第一个指令会将您定向到特定目录以方便:

    1. 导航到包含所下载应用程序的 目录。
    2. 生成私钥:

      openssl genrsa -out jira_privatekey.pem 1024
      Copy to Clipboard Toggle word wrap
    3. 获取公钥:

      openssl req -newkey rsa:1024 -x509 -key jira_privatekey.pem -out jira_publickey.cer -days 365
      Copy to Clipboard Toggle word wrap

      此命令提示您输入 Fuse 在线环境的信息。或者,为了避免响应提示,将 -subj 选项添加到命令中。例如,在上面的命令行的末尾添加如下内容:

      -subj "/C=US/ST=New York/L=New York/O=MyCompany Ltd./OU=IT/CN=mysubdomain.mydomain.com"
      Copy to Clipboard Toggle word wrap
    4. 导出密钥:

      openssl pkcs8 -topk8 -nocrypt -in jira_privatekey.pem -out jira_privatekey.pcks8
      openssl x509 -pubkey -noout -in jira_publickey.cer  > jira_publickey.pem
      Copy to Clipboard Toggle word wrap

      您现在有四个文件:

      jira_privatekey.pcks8
      jira_privatekey.pem
      jira_publickey.cer
      jira_publickey.pem

    5. 获取带有标头、换行符和页脚的私钥:

      cat jira_privatekey.pcks8 | grep -v 'PRIVATE'|awk '{print}' ORS=''
      Copy to Clipboard Toggle word wrap
    6. 将私钥复制到剪贴板。
  4. 编辑 config.properties 文件:

    1. 导航到包含 config.properties 文件的 java/target 目录,再打开该文件进行编辑。
    2. config.properties 文件中,将私钥替换为您复制到剪贴板中的私钥。
    3. jira_home 设置更改为 JIRA 服务器的 URL。如果您的 JIRA 服务器使用 https,请确保指定 https。另外,您需要转义冒号。例如:

      jira_home=https\://issues.mycompany.org
      Copy to Clipboard Toggle word wrap
    4. consumer_key 设置更改为 Fuse Online App。例如:

      consumer_key=Fuse Online App
      Copy to Clipboard Toggle word wrap
    5. 保存并关闭 config.properties 文件。
  5. 配置 JIRA 服务器,将您的 Fuse 在线环境识别为消费者应用。您必须以管理用户身份登录到 JIRA 服务器。

    1. 选择 Settings ( cog )> Products > Application links
    2. Create new link 输入字段中输入任何 URL,例如: https://example.com

      这会显示一个对话框,表示没有收到响应,这是 okay,因为只需要单向通信。

    3. Continue 显示 Link applications 对话框。在此对话框中:

      1. Consumer Key 字段中,输入 Fuse Online App
      2. 在底部,选择 Create incoming link
      3. 在其他字段输入任意值。每个字段都需要一个值。您输入的值无关紧要,因为不需要回答。
      4. Continue 显示另一个对话框。
      5. Consumer Key 字段中,输入 Fuse Online App
      6. Consumer Name 字段中输入 Fuse Online App
      7. Public Key 字段中,粘贴 jira_publickey.pem 文件中的公钥。务必只粘贴没有标头和页脚的密钥。要显示密钥以便可以复制它,请在包含 jira_publickey.pem 文件的目录下,输入 cat jira_publickey.pem
      8. Continue
  6. 获取 Fuse Online 访问您 JIRA 服务器上的数据的 JIRA 访问令牌。在关联了此流程开始时的 JIRA OAuth 文档中,这一步被称为"Oauth dance",因为 Fuse Online、JIRA Server 和 JIRA 管理员之间进行交换。

    1. 进入 目录中包含在这个流程第一步中下载的命令行应用程序的 java/target 目录。
    2. 从 JIRA 服务器获取请求令牌:

      java -jar OAuthTutorialClient-1.0.jar requestToken
      Copy to Clipboard Toggle word wrap

      这会显示如下内容:

      Token:          ec3dj4byySM5ek3XW7gl7f4oc99obAlo
      Token Secret:   OhONj0eF7zhXAMKZLbD2Rd3x7Dmxjy0d
      Retrieved request token. go to https://jira101.atlassian.net/plugins/servlet/oauth/authorize?oauth_token=ec3dj4byySM5ek3XW7gl7f4oc99obAlo to authorize it
      Copy to Clipboard Toggle word wrap
    3. 在另一个浏览器标签页中,转至该输出中提供的 URL。此页面欢迎 JIRA,并提示您允许访问 Fuse Online App。
    4. Allow,它带有一个验证代码的 Access Approved 页面。
    5. 将验证代码复制到剪贴板,并在那里粘贴,以便您轻松检索。
    6. 通过调用如下所示的命令来获取访问令牌。在以下命令行示例中,最后一个值是一个验证代码。在运行的命令中,将示例验证代码替换为您在上一步中复制的验证代码。例如:

      java -jar OAuthTutorialClient-1.0.jar accessToken qTJkPi
      Copy to Clipboard Toggle word wrap

      此命令的输出是 Fuse Online 需要访问您的 JIRA 服务器的访问令牌。

结果

JIRA 命令行应用更新 config.properties 文件,使其包含为 Fuse Online 配置 JIRA 连接所需的所有值。

后续步骤

创建一个 JIRA 连接。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat