本指南将帮助您设置 webhook 集成,以将警报从 Dotcom-Monitor 发送到您的 Jira 票证。Dotcom-Monitor 利用 HTTP Webhook 警报传递方法,通过 Webhook 请求连接 Dotcom-Monitor 警报系统和 Jira 票证。要设置集成,请确保您具有在 Jira 项目中创建议题所需的权限。

集成设置

生成 Jira API 令牌:

  1. 请访问 Atlassian 开发人员门户的 REST API 基本身份验证 页面,了解如何生成 API 令牌并使用 Jira 设置基本身份验证。
  2. 保存生成的 API 令牌,以便在 Dotcom-Monitor 的授权标头中使用。

在 Dotcom-Monitor 中配置 Webhook

当使用 API 请求时,特别是使用身份验证标头时,JIRA 有时需要一个额外的标头来绕过 CSRF 保护。要解决此问题,请在 Webhook 请求中包含值为 no-checkX-Atlassian-Token 标头。

  1. 登录到您的 Dotcom 监视器帐户,然后转到传递地址组配置(管理 > 传递地址组)。
  2. 创建新组或打开现有组进行编辑。 添加 Webhook 作为 送达地址。请访问 HTTP Webhook 集成 一文,了解如何将 Dotcom 监视器警报消息发送到专用 Webhook URL。
  3. 在 Webhook URL 字段中,输入: https://your-domain.atlassian.net/rest/api/3/issue
  4. Request Type (请求类型 ) 设置为 POST
  5. Authentication (身份验证 ) 部分留空。
  6. Headers (标头) 部分中,添加以下标头。确保对 useremail:api_token 字符串进行 BASE64 编码。
    • 授权Basic [useremail:api_token]
    • 内容类型application/json
    • X-Atlassian-令牌no-check
  7. Payload 字段中,输入将发送到 Jira 的 JSON 数据结构。下面是一个示例有效负载:
    @{
    string _text = "";
    foreach (var sessionResponse in Model.SessionResponses)
    {
        foreach (var response in sessionResponse.Children)
        {
            _text += "Task Type: " + response.Task.TaskType_Name + ", " +
                     "Details Url: " + Model.DMUserLink + "/client/response-details/hit?id=" + response.ID + "&rootId=" + Model.RootResponse.ID + "&cuid=" + Model.OnlineReportCUID + ", " +
                     "View Task Url: " + Model.DMUserLink + "/v2/EditLegacyTask/" + response.Device.ID + "/" + response.Task.ID + ", " +
                     "Task Name: " + response.Name + ", " +
                     "Target: " + response.Target + ", ";
    
            if (response.AllErrors != null)
            {
                foreach (var error in response.AllErrors)
                {
                    _text += error.ErrorType + " (" + error.ErrorCode + ") " + error.Reason;
                }
            }
        }
    }
    }
    {
      "fields": {
        "project": {
          "key": "JIRA_PROJECT_KEY"
        },
        "summary": "Alert from Dotcom-Monitor",
        "description": {
          "type": "doc",
          "version": 1,
          "content": [
            {
              "type": "paragraph",
              "content": [
                {
                  "text":"@_text",
                  "type": "text"
                }
              ]
            }
          ]
        },
        "issuetype": {
          "name": "Task"
        },
        "components": [
          {
            "name": "Default Component"
          }
        ]
      }
    }
    
  8. 替换为 "PROJECT_KEY" Jira 项目的密钥。

测试 Webhook

配置 Webhook 集成后,我们建议通过发送测试警报来测试您的监控设备:

  1. 在设备列表中,将鼠标悬停在要测试的监控设备上。
  2. 单击 Options 菜单 (⋮) > Send Test Alert > Down
  3. 检查您的 Jira 项目,查看提醒是否已创建新票证。

在警报模板中使用动态变量

如果您需要在 JSON 有效负载中包含动态 Dotcom 监视器变量,请查看 将动态变量添加到警报模板 一文。如果您遇到任何问题或有特定要求,请联系 Dotcom-Monitor 支持以获得进一步的帮助。