正在加载

Jira 操作

Elastic Stack Serverless

使用 jira 操作在 Atlassian 的 Jira Software 中创建 issue。要创建 issue,您需要在 elasticsearch.yml配置至少一个 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"
          }
      }
    }
  }
}
  1. elasticsearch.yml 中配置的 Jira 帐户的名称。
  2. 将在其中创建 issue 的 Jira 项目的键。
  3. issue 类型的名称。
  4. Jira issue 的摘要。
  5. Jira issue 的描述。
  6. 要应用于 Jira issue 的标签。
  7. Jira issue 的优先级。

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

注意

始终需要 project.key (或 project.id)、issuetype.name (或 issuetype.id) 和 issue.summary 才能在 Jira 中创建 issue。

名称 必需 描述
account 用于发送消息的 Jira 帐户。
proxy.host 要使用的代理主机(仅与 proxy.port 结合使用)
proxy.port 要使用的代理端口(仅与 proxy.host 结合使用)
fields.project.key 将在其中创建 issue 的 Jira 项目的键。如果已知项目的标识符,则可以替换为 issue.project.id
fields.issuetype.name 一个标识 issue 类型的名称。 Jira 提供了默认 issue 类型,例如 BugTaskStoryNew Feature 等。如果已知类型的标识符,则可以替换为 issue.issuetype.id
fields.summary issue 的摘要(或标题)。
fields.description issue 的描述。
fields.labels 要应用于 Jira issue 的标签。
fields.priority.name Jira issue 的优先级。 Jira 提供了默认的 HighMediumLow 优先级。
fields.assignee.name 要将 issue 分配给的用户的名称。
fields.reporter.name 标识为 issue 报告者的用户的名称。 默认为用户帐户。
fields.environment 与 issue 相关的环境的名称。
fields.customfield_XXX issue 的自定义字段 XXX (例如: "customfield_10000": "09/Jun/81")

您可以在 elasticsearch.yml 中的 xpack.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 字段还可以包含用于创建 issue 的路径。默认情况下,这是 /rest/api/2/issue。如果您也设置了此项,请确保此路径是创建 issue 的端点的完整路径。

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

强烈建议仅将基本身份验证与安全 HTTPS 协议一起使用。

您还可以为 Jira issue 指定默认值

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:
      ...
© . All rights reserved.