Watcher Jira 操作

编辑

使用 jira 操作在 Atlassian 的 Jira Software 中创建问题。要创建问题,您需要在 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.ymlxpack.notification.jira 命名空间中配置 Watcher 可以用来与 Jira 通信的账户。

Watcher 支持 Jira Software 的基本身份验证。要配置 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:
      ...