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"
}
}
}
}
}
- 在
elasticsearch.yml
中配置的 Jira 帐户的名称。 - 将在其中创建 issue 的 Jira 项目的键。
- issue 类型的名称。
- Jira issue 的摘要。
- Jira issue 的描述。
- 要应用于 Jira issue 的标签。
- 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 类型,例如 Bug 、Task 、Story 、New Feature 等。如果已知类型的标识符,则可以替换为 issue.issuetype.id 。 |
fields.summary |
是 | issue 的摘要(或标题)。 |
fields.description |
否 | issue 的描述。 |
fields.labels |
否 | 要应用于 Jira issue 的标签。 |
fields.priority.name |
否 | Jira issue 的优先级。 Jira 提供了默认的 High 、Medium 和 Low 优先级。 |
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
将敏感数据(url
、user
和 password
)存储在配置文件或集群设置中是不安全的,并且已被弃用。请改用 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:
...