通过OAuth认证方式集成Jira工单系统

ARMS告警管理支持通过Jira账号信息或OAuth认证的方式集成Jira工单系统,本文介绍如何通过OAuth认证方式在ARMS告警管理中集成Jira工单系统,使告警在创建时能同时在Jira中创建问题工单,告警状态与工单状态可以实现双向同步。

步骤一:配置Jira

  1. 在终端命令行运行以下OpenSSL命令生成RSA公钥和私钥。

    说明

    您可以在文件系统的任意位置执行此操作,操作中创建的文件将会保存在当前位置。

    1. 生成1024位私钥。

      openssl genrsa -out jira_privatekey.pem 1024
    2. 创建X509证书。

      openssl req -newkey rsa:1024 -x509 -key jira_privatekey.pem -out jira_publickey.cer -days 365
    3. 将私钥(PKCS8 格式)解压到jira_privatekey.pkcs8文件中。

      openssl pkcs8 -topk8 -nocrypt -in jira_privatekey.pem -out jira_privatekey.pcks8
    4. 从证书中提取公钥到jira_publickey.pem文件中。

      openssl x509 -pubkey -noout -in jira_publickey.cer  > jira_publickey.pem
  2. 创建应用程序链接。

    1. 进入Jira工单系统,在Jira页面右上角单击设置图标,然后单击应用程序

      Jira应用程序

    2. 应用程序页签左侧单击应用程序链接

    3. 配置应用程序链接区域输入任意URL,然后单击创建新链接

      说明

      此处的URL没有实际意义,您可以输入任意URL,例如http://alerts.console.aliyun.com/

    4. 在弹出的配置应用程序URL对话框中忽略显示的警告,然后单击继续

      Configure Application URL

    5. 在弹出的链接应用程序对话框,设置应用类型通用应用程序,输入使用者关键字AlertOauthKey,选中创建进入链接,并任意填写其他参数,然后单击继续

      Link Applications

    6. 链接应用程序对话框继续设置以下参数,然后单击继续

      参数

      参数值

      客户关键字

      AlertOauthKey

      客户名称

      alertmanager

      公共关键字

      步骤1中生成的公钥,即jira_publickey.pem文件的内容。

      Link application-02

      等待一段时间后,在配置应用程序链接页面可以查看新建的应用程序链接。Configure Application Links

    7. 单击应用链接右侧动作列的铅笔图标图标,然后在配置alertmanager对话框左侧单击传入的验证

      configure alertmanager

    8. 如果状态显示为未配置,则重新填写客户关键字客户名称公共关键字,然后单击保存

    9. 单击关闭

步骤二:在ARMS告警管理中集成Jira

  1. 登录ARMS控制台,在左侧导航栏选择告警管理 > 集成
  2. 集成页面单击通知集成页签,然后单击JIRA

  3. 添加集成配置向导页面,进行以下配置。

    1. 基本信息向导页设置以下参数,然后单击获取Verification Code

      页面将自动跳转至Jira的认证页面。

      参数

      参数值

      名称

      Jira集成名称。

      描述

      Jira集成的描述。

      URL

      Jira的地址URL。

      验证方式

      选择验证方式Oauth

      Consumer key

      AlertOauthKey

      Private key

      步骤1中生成的私钥,即jira_privatekey.pcks8文件的内容。

    2. 欢迎来到JIRA页面单击允许

      Welcome to Jira

    3. 访问已批准页面获取验证码。

      Access Approved

    4. 返回ARMS告警管理的添加集成配置向导页面,输入Verification Code为上一步获取的验证码,然后单击获取Access Token

      获取Access Token

    5. 显示获取Access Token成功后单击下一步

    6. 告警源配置向导页通过以下参数配置告警同步信息,然后单击保存

      参数

      说明

      示例

      问题所属项目

      告警产生时同步到的Jira项目。

      监管控一体化项目

      类型

      告警对应的Jira问题类型。

      • 任务

      • 子任务

      • 改进

      • 新功能

      • 故障

      • Epic

      • 故事

      故障

      告警关闭时,问题的状态

      Jira问题关闭时的状态。当Jira问题处于设置的状态时,Jira问题将会被认定为关闭,问题对应的告警操作将不再同步到该问题上。Jira问题状态选项:

      • 待办

      • 处理中

      • 正评审

      • 完成

      说明

      建议选择Jira问题关闭时的状态为完成。如果选择其他状态,当问题状态变更为完成时,告警操作仍会同步至Jira对应的问题中。

      完成

      优先级

      告警等级与Jira中问题优先级的映射关系。

      重要
      • 如果某个告警等级没有配置与Jira的优先级的映射关系,那么该等级的告警将不会同步到Jira中。

      • 告警首次被推送到Jira中时将会根据映射关系同步告警等级。同步后,在ARMS告警管理只修改告警等级将不会推送到Jira的问题中。

      • P1:Hightest

      • P2:High

      • P3:Medium

      • P4:Low

      • P5:Lowest

    配置完成后,在通知集成页签可以查看已创建的Jira集成。JIRA集成

将告警推送至Jira

配置完Jira集成后,可以通过以下3种方式将告警推送到Jira中。

方式一

设置通知策略,使告警产生时同步在Jira中创建问题。

  1. 在控制台左侧导航栏选择告警管理 > 通知策略

  2. 通知策略页面单击新建通知策略或者编辑已有的通知策略。

  3. 在编辑通知策略页面的当告警生成时区域,选择的通知人/排班至少包含联系人或联系人组。

    重要
    • Jira会在系统中查询与通知策略中识别到的第一个联系人拥有相同邮箱或姓名(用户名)的用户,该Jira用户将会被设置为问题经办人。

    • 如果通知策略识别到的第一个通知人在Jira中没有对应的用户,那么告警将无法同步至Jira中。

  4. 选择工单系统为已创建的Jira集成。根据需求设置其他参数,具体操作,请参见通知策略

  5. 设置完成后单击保存

    配置完成后,匹配到该通知策略的告警将会推送到Jira中。

方式二

告警发送历史页面将已产生的告警推送至Jira中,并在Jira中生成对应问题。

  1. 在控制台左侧导航栏选择告警管理 > 告警发送历史

  2. 告警发送历史页面右上角关联操作人(作为Jira问题中的经办人),然后单击目标告警名称。

    重要
    • Jira会在系统中查询与联系人拥有相同邮箱或姓名(用户名)的用户,该Jira用户将会被设置为问题经办人。

    • 如果操作人在Jira中无对应的用户,那么告警将无法同步至Jira中。

  3. 在告警详情页面右上角单击更多图标图标,然后单击推送告警

  4. 在弹出的对话框中,选择工单系统为已创建的Jira集成,然后单击确认

    推送成功后,可在告警详情页面看到告警对应的Jira问题的链接。告警详情的JIRA链接

方式三

已产生告警并在钉钉群中收到告警卡片后,在钉钉群的告警卡片中将告警推送至Jira中,并在Jira中生成对应问题。

重要
  • 当前在钉钉群中处理告警推送的操作人将会作为Jira问题中的经办人。

  • 操作人为已在钉钉群的告警卡片中绑定过手机号的联系人,具体操作,请参见处理告警

  • 如果Jira中存在用户的邮箱或用户名与ARMS联系人的邮箱或姓名相同,则对应的ARMS联系人即为Jira中的用户。

  • 如果操作人在Jira中无对应的用户,那么告警将无法同步至Jira中。

  • 在钉钉群收到的告警卡片中,单击推送告警,然后选择已创建的Jira集成。钉钉群告警卡片

  • 在告警卡片中单击目标告警名称,在告警详情面板单击设置,然后单击推送工单,并选择已创建的Jira集成。卡片的告警详细页面推送工单

推送成功后,可在告警详情页面看到告警对应的Jira问题的链接。

支持同步的告警操作

完成以上步骤后,在ARMS告警管理中对告警的以下操作将会同步至Jira工单系统中。

告警发送历史页面的操作:

  • 认领告警:同步更新Jira问题中的经办人。

    说明

    认领人必须在Jira中有对应的用户。

  • 评论告警:同步增加Jira问题中的评论。

  • 解决告警:同步解决方案到Jira问题中的评论。

在钉钉群的告警卡片中的操作:

认领告警:同步更新Jira问题中的经办人。

说明

认领人必须在Jira中有对应的用户。

Jira操作同步至告警中

  1. ARMS告警管理的集成页面的通知集成页签下获取Jira的集成密钥。

    JIRA集成密钥

  2. 进入Jira工单系统,在Jira页面右上角单击设置图标,然后单击系统

    JIRA设置

  3. 输入管理员密码,单击确认进入系统配置页面。

  4. 系统页的左侧导航栏选择告警 > WebHook

  5. WebHook页面单击+创建WebHook

    JIRA创建Webhook

  6. 在创建WebHook页面设置URLhttp://alerts.console.aliyun.com/api/jira/receiver/{token}/${project.key}/${issue.key}。其中,{token}为步骤1操作中获取的Jira集成密钥。

    JIRA新建Webhook

  7. 根据需求设置其他参数,更多信息,请参见Jira官方文档,然后单击新建

    完成以上步骤后,在Jira中对问题的以下操作将会同步至ARMS告警管理中。

    • 问题修改经办人:对应告警的处理人会同步修改。

    • 问题新增备注:对应告警的评论会同步新增。