Watcher Jira 操作编辑

使用 jira 操作在 Atlassian 的 Jira 软件 中创建问题。要创建问题,您需要在 elasticsearch.yml配置至少一个 Jira 帐户

配置 Jira 操作编辑

您可以在 actions 数组中配置 Jira 操作。使用 jira 关键字指定特定于操作的属性。

以下代码段显示了一个简单的 jira 操作定义

"actions" : {
  "create-jira-issue" : {
    "transform" : { ... },
    "throttle_period" : "5m",
    "jira" : {
      "account" : "integration-account", 
      "fields" : {
          "project" : {
            "key": "PROJ" 
          },
          "issuetype" : {
            "name": "Bug" 
          },
          "summary" : "Encountered {{ctx.payload.hits.total}} errors in the last 5 minutes", 
          "description" : "Encountered {{ctx.payload.hits.total}} errors in the last 5 minutes (facepalm)", 
          "labels" : ["auto"], 
          "priority" : {
            "name" : "High" 
          }
      }
    }
  }
}

elasticsearch.yml 中配置的 Jira 帐户的名称。

将在其中创建问题的 Jira 项目的键。

问题类型的名称。

Jira 问题的摘要。

Jira 问题的描述。

要应用于 Jira 问题的标签。

Jira 问题的优先级。

Jira 操作属性编辑

根据 Jira 项目的配置方式,问题可能具有许多不同的字段和值。因此,jira 操作可以在其 issue 字段中接受任何类型的子字段。这些字段将在调用 Jira 的 创建问题 API 时直接使用,允许使用任何类型的自定义字段。

project.key(或 project.id)、issuetype.name(或 issuetype.id)和 issue.summary 始终是创建 Jira 问题所必需的。

名称 必需 描述

帐户

用于发送消息的 Jira 帐户。

代理.主机

要使用的代理主机(仅与 proxy.port 结合使用)

代理.端口

要使用的代理端口(仅与 proxy.host 结合使用)

字段.项目.键

将在其中创建问题的 Jira 项目的键。如果已知项目的标识符,则可以使用 issue.project.id 替换它。

字段.问题类型.名称

标识问题类型的名称。Jira 提供了默认的问题类型,例如 BugTaskStoryNew Feature 等。如果已知类型的标识符,则可以使用 issue.issuetype.id 替换它。

字段.摘要

问题的摘要(或标题)。

字段.描述

问题的描述。

字段.标签

要应用于 Jira 问题的标签。

字段.优先级.名称

Jira 问题的优先级。Jira 提供了默认的 HighMediumLow 优先级级别。

字段.受让人.名称

要将问题分配给的用户姓名。

字段.报告人.名称

被标识为问题报告人的用户姓名。默认为用户帐户。

字段.环境

与问题相关的环境名称。

字段.customfield_XXX

问题的自定义字段 XXX(例如:“customfield_10000”:“09/Jun/81”)

配置 Jira 帐户编辑

您可以在 elasticsearch.yml 中的 xpack.notification.jira 命名空间中配置 Watcher 可用于与 Jira 通信的帐户。

Watcher 支持 Jira 软件的基本身份验证。要配置 Jira 帐户,您需要指定(请参阅 安全设置

bin/elasticsearch-keystore add xpack.notification.jira.account.monitoring.secure_url
bin/elasticsearch-keystore add xpack.notification.jira.account.monitoring.secure_user
bin/elasticsearch-keystore add xpack.notification.jira.account.monitoring.secure_password

在配置文件或集群设置中存储敏感数据(urluserpassword)是不安全的,并且已弃用。请改用 Elasticsearch 的安全 密钥库 方法。

为了避免凭据以明文形式通过网络传输,Watcher 将拒绝基于纯文本 HTTP 协议的 url 设置,例如 http://internal-jira.elastic.co。此默认行为可以使用显式 allow_http 设置禁用

url 字段还可以包含用于创建问题的路径。默认情况下,这是 /rest/api/2/issue。如果您也设置了此路径,请确保此路径是创建问题的端点的完整路径。

xpack.notification.jira:
  account:
    monitoring:
      allow_http: true

强烈建议仅使用具有安全 HTTPS 协议的基本身份验证。

您还可以为 Jira 问题 指定默认值

xpack.notification.jira:
  account:
    monitoring:
      issue_defaults:
        project:
          key: proj
        issuetype:
          name: Bug
        summary: "X-Pack Issue"
        labels: ["auto"]

如果您配置了多个 Jira 帐户,则需要配置一个默认帐户,或者在 jira 操作中指定应使用哪个帐户发送通知。

xpack.notification.jira:
  default_account: team1
  account:
    team1:
      ...
    team2:
      ...