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 中创建问题的必要字段。

名称 必填 描述

account

用于发送消息的 Jira 帐户。

proxy.host

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

proxy.port

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

fields.project.key

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

fields.issuetype.name

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

fields.summary

问题的概要(或标题)。

fields.description

问题的描述。

fields.labels

要应用于 Jira 问题的标签。

fields.priority.name

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

fields.assignee.name

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

fields.reporter.name

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

fields.environment

与问题相关的环境名称。

fields.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:
      ...