Jira

集成版本:41.0

配置 Jira 以与 Google Security Operations 搭配使用

创建 API 令牌

通过 Atlassian 账号创建 API 令牌:

  1. 登录您的 Atlassian 账号
  2. 点击创建 API 令牌
  3. 在随即显示的对话框中,为您的令牌输入一个简明易记的标签,然后点击创建
  4. 点击复制到剪贴板,然后将令牌粘贴到安全的地方以进行保存。

在 Google SecOps 中配置 Jira 集成

有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成

集成参数

使用以下参数配置集成:

参数显示名称 类型 默认值 是否为必需属性 说明
实例名称 字符串 不适用 您打算为其配置集成的实例的名称。
说明 字符串 不适用 实例的说明。
API 根 字符串 https://{jira_address} Jira 实例的地址。
用户名 字符串 不适用 应使用哪个用户名连接到 Jira。
API 令牌 密码 不适用

在 Jira 控制台中生成的令牌。

注意:如果使用用户名和密码组合进行本地身份验证,此参数可用于包含“密码”字符串。

验证 SSL 复选框 尚未核查 如果您的 Jira 连接需要 SSL 验证,请选中此复选框。
远程运行 复选框 尚未核查 选中此字段,以便远程运行配置的集成。选中后,系统会显示用于选择远程用户(客服人员)的选项。

操作

添加评论

说明

撰写问题评论是记录问题更多元素的有效方式,有助于您与团队成员互动。

参数

参数 类型 默认值 是否为必需属性 说明
问题键 字符串 不适用

问题的 issue 键。

示例:ABC-123

评论 字符串 不适用 要添加到问题中的评论内容。

运行于

此操作会在所有实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
comment_id 不适用 不适用
JSON 结果
N/A

分配问题

说明

将问题分配给特定用户。Jira 用户名可以是名称或电子邮件地址。对于新的 Jira API,该操作会尝试查找与受让人匹配的用户电子邮件地址,以根据该地址分配问题,然后尝试使用 displayName 字段。

参数

参数 类型 默认值 是否为必需属性 说明
问题键 字符串 不适用 问题的 issue 键。
接收方 字符串 不适用 问题的新指派对象。
Jira 用户名 字符串 不适用 操作发起者的 Jira 用户名。

运行于

此操作会在所有实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
成功 True/False success:False

创建提醒问题

说明

将突发事件分配给特定群组。

参数

参数 类型 默认值 是否为必需属性 说明
项目密钥 字符串 不适用 要在其中创建问题的项目的键。
摘要 字符串 不适用 问题的摘要。
问题类型 字符串 不适用 问题的类型。

运行于

此操作会在所有实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
issue_key 不适用 不适用
JSON 结果
{
   "comment":
      {
        "total": 0,
        "startAt": 0,
        "comments": [],
        "maxResults": 0
       },
   "Creator":
      {
        "displayName": "user1",
        "name": "user1",
        "self": "",
        "avatarUrls":
           {
              "24x24": "",
              "16x16": "",
              "48x48": "",
              "32x32": ""
            },
        "emailAddress": "john_doe@example.com",
        "key": "user1user",
        "active": true,
        "timeZone": "Asia/Jerusalem",
        "accountId": "0"
       },
   "aggregatetimeestimate": null,
   "labels": ["Label1"],
   "aggregatetimespent": null,
   "watches":
       {
         "self": "",
         "watchCount": 1,
         "isWatching": false
        },
   "Assignee":
       {
         "displayName": "user2",
         "name": "user2",
         "self": "",
         "avatarUrls":
            {
                "24x24": "",
                "16x16": "",
                "48x48": "",
                "32x32": ""
             },
         "emailAddress": "john_doe@example.com",
         "key": "user2",
         "active": true,
         "timeZone": "Asia/Jerusalem",
         "accountId": ""
         },
   "lastViewed": "2019-01-22T10:14:02.910+0200",
   "issuelinks": [],
   "worklog":
        {
         "worklogs": [],
         "total": 0,
         "startAt": 0,
         "maxResults": 20
        },
   "aggregateprogress":
        {
         "progress": 0,
         "total": 0
        },
   "priority":
        {
         "iconUrl": "",
         "self": "",
         "name": "Medium",
         "id": "3"
         },
    "votes":
        {
         "hasVoted": false,
         "self": "", "votes": 0
        },
    "workratio": -1,
    "fixVersions": [],
    "environment": null,
    "timespent": null,
    "attachment":
      [{
         "mimeType": "binary/octet-stream",
         "created": "2018-06-19T15:23:07.369+0300",
         "self": "",
         "Author":
             {
                "displayName": "user1",
                "name": "user1",
                "self": "",
                "avatarUrls":
                    {
                      "24x24": "",
                      "16x16": "",
                      "48x48": "",
                      "32x32": ""
                     },
                "emailAddress": "john_doe@example.com",
                "key": "user1",
                "active": true,
                "timeZone": "Asia/Jerusalem",
                "accountId": "0"
              },
         "filename": "file.rar",
         "content": "",
         "id": "0",
         "size": 0
        }],
    "progress": {"progress": 0,
                 "total": 0},
    "duedate": null,
    "status":
        {
          "statusCategory":
              {
                 "name": "Done",
                 "self": "",
                 "id": 3,
                 "key": "done",
                 "colorName": "green"
               },
           "description": "",
           "self": "",
           "iconUrl": "",
           "id": "0",
           "name": "DONE"
         },
    "updated": "2018-09-18T10:02:06.347+0300",
    "subtasks": [],
    "description": "Create Enrich entities action using Insights API (IOC search)\\n\\nWrite connector for laerts\\n\\nIn a couple of days we will have access to an instance",
    "reporter":
         {
            "displayName": "user1",
            "name": "user1",
            "self": "",
            "avatarUrls":
               {
                  "24x24": "",
                  "16x16": "",
                  "48x48": "",
                  "32x32": ""
               },
            "emailAddress": "john_doe@example.com",
            "key": "user1",
            "active": true,
             "timeZone": "Asia/Jerusalem",
             "accountId": "0"
           },
    "timeoriginalestimate": null,
    "aggregatetimeoriginalestimate": null,
    "created": "2018-06-19T15:23:13.701+0300",
    "versions": [],
    "resolutiondate": "2018-09-18T10:02:06.340+0300",
    "summary": "Sample issue",
    "project":
          {
             "name": "Project 1",
             "self": "",
             "projectTypeKey": "software",
             "avatarUrls":
                {
                  "24x24": "",
                  "16x16": "",
                  "48x48": "",
                  "32x32": ""
                },
            "key": "PR",
            "id": "0"
          },
    "timetracking": {},
    "components": [],
    "issuetype":
         {
            "name": "Task",
            "self": "",
            "iconUrl": "",
            "subtask": false,
            "avatarId": 10318,
            "id": "10002",
            "description": "A task that needs to be done."
          },
    "security": null,
    "resolution":
          {
            "id": "10000",
            "self": "",
            "description": "Work has been completed on this issue.",
            "name": "Done"
          },
  "timeestimate": null
}

创建问题

说明

在项目中创建问题。Jira 用户名可以是名称或电子邮件地址。 对于新的 Jira API,该操作会尝试查找与受让人匹配的用户电子邮件地址,以根据该地址分配问题,然后尝试使用 displayName 字段。

参数

参数 类型 默认值 是否为必需属性 说明
项目密钥 字符串 不适用 要在其中创建问题的项目的键。
摘要 字符串 不适用 问题的摘要。
说明 字符串 不适用 问题的说明。
问题类型 字符串 不适用 问题的类型。
接收方 字符串 不适用 问题的新指派对象。
Jira 用户名 字符串 不适用 操作发起者的 Jira 用户名。
组件 字符串 不适用

问题的“组件”字段。

此参数接受多个值,这些值以英文逗号分隔的字符串形式表示。

标签 字符串 不适用

问题的“组件”字段。

此参数接受多个值,这些值以英文逗号分隔的字符串形式表示。

自定义字段 JSON 不适用

指定一个 JSON 对象,其中包含在问题创建期间将使用的所有字段和值。

注意:此参数具有优先权,所有字段都会被此参数提供的值覆盖。

示例:{"field":"value"}

运行于

此操作会在所有实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
issue_key 不适用 不适用
JSON 结果
N/A

删除问题

说明

删除问题。

参数

参数 类型 默认值 是否为必需属性 说明
问题键 字符串 不适用 要删除的问题的键。

运行于

此操作会在所有实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
成功 True/False success:False
JSON 结果
N/A

下载附件

说明

获取问题密钥并下载所有附件。如果其中一个文件是 EML 文件,请下载附件中的内容。

参数

参数 类型 默认值 是否为必需属性 说明
问题键 字符串 不适用 问题的键。
下载路径 字符串 不适用 保存附件的路径。
将附件下载到案例墙 复选框 尚未核查 如果启用,此操作会将 Jira 问题附件下载到当前 Google SecOps 提醒的案例墙。

运行于

此操作会在所有实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
{
   "comment":
      {
        "total": 0,
        "startAt": 0,
        "comments": [],
        "maxResults": 0
       },
   "creator":
      {
        "displayName": "user1",
        "name": "user1",
        "self": "",
        "avatarUrls":
          {
            "24x24": "",
            "16x16": "",
            "48x48": "",
            "32x32": ""
            },
        "emailAddress": "john_doe@example.com",
        "key": "user1user",
        "active": true,
        "timeZone": "Asia/Jerusalem",
        "accountId": "0"
      },
    "aggregatetimeestimate": null,
    "labels": ["Label1"],
    "aggregatetimespent": null,
    "watches":
      {
        "self": "",
        "watchCount": 1,
        "isWatching": false
      },
     "assignee":
       {
        "displayName": "user2",
        "name": "user2",
        "self": "",
        "avatarUrls":
           {
             "24x24": "",
             "16x16": "",
             "48x48": "",
             "32x32": ""
            },
         "emailAddress": "john_doe@example.com",
         "key": "user2","active": true,
         "timeZone": "Asia/Jerusalem",
         "accountId": ""
        },
      "lastViewed": "2019-01-22T10:14:02.910+0200",
      "issuelinks": [],
      "worklog":
        {
          "worklogs": [],
          "total": 0,
          "startAt": 0,
          "maxResults": 20
         },
      "aggregateprogress":
        {
          "progress": 0,
          "total": 0
         },
      "Priority":
        {
          "iconUrl": "",
          "self": "",
          "name": "Medium",
          "id": "3"
         },
      "Votes":
         {
           "hasVoted": false,
           "self": "",
           "votes": 0
          },
      "workratio": -1,
      "fixVersions": [],
      "environment": null,
      "timespent": null,
      "attachment":
          [{
             "mimeType": "binary/octet-stream",
             "created": "2018-06-19T15:23:07.369+0300",
             "self": "",
             "author":
                {
                  "displayName": "user1",
                  "name": "user1",
                  "self": "",
                  "avatarUrls":
                      {
                        "24x24": "",
                        "16x16": "",
                        "48x48": "",
                        "32x32": ""
                      },
                 "emailAddress": "john_doe@example.com",
                 "key": "user1",
                 "active": true,
                 "timeZone": "Asia/Jerusalem",
                 "accountId": "0"
                 },
             "filename": "file.rar",
             "content": "",
             "id": "0",
             "size": 0
           }],
       "progress":
           {
             "progress": 0,
             "total": 0
            },
       "duedate": null,
       "status":
            {
             "statusCategory":
                 {
                   "name": "Done",
                   "self": "",
                   "id": 3,
                   "key": "done",
                   "colorName": "green"
                  },
             "description": "",
             "self": "",
             "iconUrl": "",
             "id": "0",
             "name": "DONE"
            },
       "updated": "2018-09-18T10:02:06.347+0300",
       "subtasks": [],
       "description": "Create Enrich entities action using Insights API (IOC search)\\n\\nWrite connector for laerts\\n\\nIn a couple of days we will have access to an instance",
       "reporter":
            {
              "displayName": "user1",
              "name": "user1",
              "self": "",
              "avatarUrls":
                  {
                    "24x24": "",
                    "16x16": "",
                    "48x48": "",
                    "32x32": ""
                   },
              "emailAddress": "john_doe@example.com",
              "key": "user1",
              "active": true,
              "timeZone": "Asia/Jerusalem",
              "accountId": "0"
             },
       "timeoriginalestimate": null,
       "aggregatetimeoriginalestimate": null,
       "created": "2018-06-19T15:23:13.701+0300",
       "versions": [],
       "resolutiondate": "2018-09-18T10:02:06.340+0300",
       "summary": "Sample issue",
       "project":
             {
               "name": "Project 1",
               "self": "",
               "projectTypeKey": "software",
               "avatarUrls":
                    {
                       "24x24": "",
                       "16x16": "",
                       "48x48": "",
                       "32x32": ""
                     },
               "key": "PR",
               "id": "0"
              },
        "timetracking": {},
        "components": [],
        "issuetype":
             {
               "name": "Task",
               "self": "",
               "iconUrl": "",
               "subtask": false,
               "avatarId": 10318,
               "id": "10002",
               "description": "A task that needs to be done."
              },
         "security": null,
         "resolution":
             {
               "id": "10000",
               "self": "",
               "description": "Work has been completed on this issue.",
               "name": "Done"
             },
         "timeestimate": null
 }

获取问题

说明

按键获取问题的详细信息。

参数

参数 类型 默认值 是否为必需属性 说明
问题键 字符串 不适用 要提取的问题的键,以英文逗号分隔。

运行于

此操作会在所有实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
issues_details_list True/False issues_details_list:False
JSON 结果
{
   "comment":
      {
        "total": 0,
        "startAt": 0,
        "comments": [],
        "maxResults": 0
       },
   "creator":
      {
        "displayName": "user1",
        "name": "user1",
        "self": "",
        "avatarUrls":
          {
            "24x24": "",
            "16x16": "",
            "48x48": "",
            "32x32": ""
            },
        "emailAddress": "john_doe@example.com",
        "key": "user1user",
        "active": true,
        "timeZone": "Asia/Jerusalem",
        "accountId": "0"
      },
    "aggregatetimeestimate": null,
    "labels": ["Label1"],
    "aggregatetimespent": null,
    "watches":
      {
        "self": "",
        "watchCount": 1,
        "isWatching": false
      },
     "assignee":
       {
        "displayName": "user2",
        "name": "user2",
        "self": "",
        "avatarUrls":
           {
             "24x24": "",
             "16x16": "",
             "48x48": "",
             "32x32": ""
            },
         "emailAddress": "john_doe@example.com",
         "key": "user2","active": true,
         "timeZone": "Asia/Jerusalem",
         "accountId": ""
        },
      "lastViewed": "2019-01-22T10:14:02.910+0200",
      "issuelinks": [],
      "worklog":
        {
          "worklogs": [],
          "total": 0,
          "startAt": 0,
          "maxResults": 20
         },
      "aggregateprogress":
        {
          "progress": 0,
          "total": 0
         },
      "Priority":
        {
          "iconUrl": "",
          "self": "",
          "name": "Medium",
          "id": "3"
         },
      "Votes":
         {
           "hasVoted": false,
           "self": "",
           "votes": 0
          },
      "workratio": -1,
      "fixVersions": [],
      "environment": null,
      "timespent": null,
      "attachment":
          [{
             "mimeType": "binary/octet-stream",
             "created": "2018-06-19T15:23:07.369+0300",
             "self": "",
             "author":
                {
                  "displayName": "user1",
                  "name": "user1",
                  "self": "",
                  "avatarUrls":
                      {
                        "24x24": "",
                        "16x16": "",
                        "48x48": "",
                        "32x32": ""
                      },
                 "emailAddress": "john_doe@example.com",
                 "key": "user1",
                 "active": true,
                 "timeZone": "Asia/Jerusalem",
                 "accountId": "0"
                 },
             "filename": "file.rar",
             "content": "",
             "id": "0",
             "size": 0
           }],
       "progress":
           {
             "progress": 0,
             "total": 0
            },
       "duedate": null,
       "status":
            {
             "statusCategory":
                 {
                   "name": "Done",
                   "self": "",
                   "id": 3,
                   "key": "done",
                   "colorName": "green"
                  },
             "description": "",
             "self": "",
             "iconUrl": "",
             "id": "0",
             "name": "DONE"
            },
       "updated": "2018-09-18T10:02:06.347+0300",
       "subtasks": [],
       "description": "Create Enrich entities action using Insights API (IOC search)\\n\\nWrite connector for laerts\\n\\nIn a couple of days we will have access to an instance",
       "reporter":
            {
              "displayName": "user1",
              "name": "user1",
              "self": "",
              "avatarUrls":
                  {
                    "24x24": "",
                    "16x16": "",
                    "48x48": "",
                    "32x32": ""
                   },
              "emailAddress": "john_doe@example.com",
              "key": "user1",
              "active": true,
              "timeZone": "Asia/Jerusalem",
              "accountId": "0"
             },
       "timeoriginalestimate": null,
       "aggregatetimeoriginalestimate": null,
       "created": "2018-06-19T15:23:13.701+0300",
       "versions": [],
       "resolutiondate": "2018-09-18T10:02:06.340+0300",
       "summary": "Sample issue",
       "project":
             {
               "name": "Project 1",
               "self": "",
               "projectTypeKey": "software",
               "avatarUrls":
                    {
                       "24x24": "",
                       "16x16": "",
                       "48x48": "",
                       "32x32": ""
                     },
               "key": "PR",
               "id": "0"
              },
        "timetracking": {},
        "components": [],
        "issuetype":
             {
               "name": "Task",
               "self": "",
               "iconUrl": "",
               "subtask": false,
               "avatarId": 10318,
               "id": "10002",
               "description": "A task that needs to be done."
              },
         "security": null,
         "resolution":
             {
               "id": "10000",
               "self": "",
               "description": "Work has been completed on this issue.",
               "name": "Done"
             },
         "timeestimate": null
 }

列出问题

说明

搜索问题。

参数

参数 类型 默认值 是否为必需属性 说明
项目名称 字符串 不适用 要搜索的项目的名称,以英文逗号分隔。
摘要 字符串 不适用 要过滤的摘要。
说明 字符串 不适用 要过滤的说明。
问题类型 字符串 错误 要作为过滤依据的问题类型。
优先级 字符串 不适用 要按哪个优先级进行过滤。
创建自 字符串 不适用

要过滤的最早创建日期。

格式:YYYY/MM/DD。

更新自 字符串 不适用

要过滤的最早更新日期。

格式:YYYY/MM/DD。

指派对象 字符串 不适用 要按哪些受让人进行过滤,以英文逗号分隔。
报告者 字符串 不适用 要按哪些举报者进行过滤,以英文逗号分隔。
状态 字符串 不适用 要过滤的状态(以英文逗号分隔)。

运行于

此操作会在所有实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
问题 True/False 问题:False
JSON 结果
[ "PR-123", "PR-124"]

Ping

说明

验证用户是否通过自己的设备连接到 Jira。

参数

此操作没有输入参数。

运行于

此操作会在所有实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
成功 True/False success:False
JSON 结果
N/A

更新问题

说明

更新问题。对于新的 Jira API,该操作会尝试查找与受让人匹配的用户电子邮件地址,以根据该地址分配问题,然后尝试使用 displayName 字段。

参数

参数 类型 默认值 是否为必需属性 说明
问题键 字符串 不适用 要更新的问题的键。
状态 字符串 不适用 指定相关过渡名称,以便将此问题过渡到新的所需状态。
摘要 字符串 不适用 问题的新摘要。
说明 字符串 不适用 问题的新说明。
问题类型 字符串 不适用 新问题的类型。
接收方 字符串 不适用 问题的新指派对象。
Jira 用户名 字符串 不适用 操作发起者的 Jira 用户名。
组件 字符串 不适用

问题的“组件”字段。

此参数接受多个值,这些值以英文逗号分隔的字符串形式表示。

自定义字段 JSON 不适用

指定一个 JSON 对象,其中包含问题创建期间使用的所有字段和值。

注意:此参数具有优先权,所有字段都会被此参数提供的值覆盖。

示例:{"field":"value"}

标签 字符串 不适用

问题的“组件”字段。

此参数接受多个值,这些值以英文逗号分隔的字符串形式表示。

运行于

此操作会在所有实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
成功 True/False Success:False
JSON 结果
{
   "comment":
     {
       "total": 0,
       "startAt": 0,
       "comments": [],
       "maxResults": 0
      },
   "creator":
     {
       "displayName": "user1",
       "name": "user1",
       "self": "",
       "avatarUrls":
          {
            "24x24": "",
            "16x16": "",
            "48x48": "",
            "32x32": ""
           },
        "emailAddress": "john_doe@example.com",
        "key": "user1user",
        "active": true,
        "timeZone": "Asia/Jerusalem",
        "accountId": "0"
       },
   "aggregatetimeestimate": null,
   "labels": ["Label1"],
   "aggregatetimespent": null,
   "watches":
      {
        "self": "",
        "watchCount": 1,
        "isWatching": false
       },
   "assignee":
      {
        "displayName": "user2",
        "name": "user2",
        "self": "",
        "avatarUrls":
           {
              "24x24": "",
              "16x16": "",
              "48x48": "",
              "32x32": ""
            },
        "emailAddress": "john_doe@example.com",
        "key": "user2",
        "active": true,
        "timeZone": "Asia/Jerusalem",
        "accountId": ""
       },
   "lastViewed": "2019-01-22T10:14:02.910+0200",
   "issuelinks": [],
   "Worklog":
      {
        "worklogs": [],
        "total": 0,
        "startAt": 0,
        "maxResults": 20
       },
   "aggregateprogress":
      {
        "progress": 0,
        "total": 0
       },
   "Priority":
      {
        "iconUrl": "",
        "self": "",
        "name": "Medium",
        "id": "3"
       },
   "votes":
       {
          "hasVoted": false,
          "self": "",
          "votes": 0
        },
   "workratio": -1,
   "fixVersions": [],
   "environment": null,
   "timespent": null,
   "attachment":
      [{
          "mimeType": "binary/octet-stream",
          "created": "2018-06-19T15:23:07.369+0300",
          "self": "",
          "author":
             {
               "displayName": "user1",
               "name": "user1",
               "self": "",
               "avatarUrls":
                  {
                     "24x24": "",
                     "16x16": "",
                     "48x48": "",
                     "32x32": ""
                   },
               "emailAddress": "john_doe@example.com",
               "key": "user1",
               "active": true,
               "timeZone": "Asia/Jerusalem",
               "accountId": "0"
              },
           "filename": "file.rar",
           "content": "",
           "id": "0",
           "size": 0
        }],
   "progress":
        {
          "progress": 0,
          "total": 0
         },
   "duedate": null,
   "status":
        {
          "statusCategory":
              {
                 "name": "Done",
                 "self": "",
                 "id": 3,
                 "key": "done",
                 "colorName": "green"
               },
          "description": "",
          "self": "",
          "iconUrl": "",
          "id": "0",
          "name": "DONE"
         },
   "updated": "2018-09-18T10:02:06.347+0300",
   "subtasks": [],
   "description": "Create Enrich entities action using Insights API (IOC search)\\n\\nWrite connector for laerts\\n\\nIn a couple of days we will have access to an instance",
   "reporter":
         {
           "displayName": "user1",
           "name": "user1",
           "self": "",
           "avatarUrls":
               {
                 "24x24": "",
                 "16x16": "",
                 "48x48": "",
                 "32x32": ""
               },
           "emailAddress": "john_doe@example.com",
           "key": "user1",
           "active": true,
           "timeZone": "Asia/Jerusalem",
           "accountId": "0"
          },
    "timeoriginalestimate": null,
    "aggregatetimeoriginalestimate": null,
    "created": "2018-06-19T15:23:13.701+0300",
    "versions": [],
    "resolutiondate": "2018-09-18T10:02:06.340+0300",
    "summary": "Sample issue",
    "project":
          {
             "name": "Project 1",
             "self": "",
             "projectTypeKey": "software",
             "avatarUrls":
                 {
                   "24x24": "",
                   "16x16": "",
                   "48x48": "",
                   "32x32": ""
                  },
             "key": "PR",
             "id": "0"
           },
    "timetracking": {},
    "components": [],
    "issuetype":
          {
             "name": "Task",
             "self": "",
             "iconUrl": "",
             "subtask": false,
             "avatarId": 10318,
             "id": "10002",
             "description": "A task that needs to be done."
           },
    "security": null,
    "resolution":
           {
             "id": "10000",
             "self": "",
             "description": "Work has been completed on this issue.",
              "name": "Done"
             },
    "timeestimate": null
}

上传附件

说明

向问题添加附件。

参数

参数 类型 默认值 是否为必需属性 说明
问题键 字符串 不适用 文件路径。
文件路径 字符串 不适用 要上传的文件的路径(以英文逗号分隔)。

运行于

此操作会在所有实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
N/A

说明

关联 Jira 中的多个问题。

参数

参数 类型 默认值 是否为必需属性 说明
入向问题 ID 字符串 不适用

指定以英文逗号分隔的向内问题 ID 列表。

例如,如果关系类型为“Blocks”,则在界面中,您会看到此问题与“blocked by”关系相关联。

向外问题 ID CSV 不适用

指定对外问题 ID。

例如,如果关系类型为“Blocks”,则在界面中,您会看到此问题与“blocks”关系相关。

关系类型 字符串 区块 指定将用于关联多个问题的关系类型。如需查看所有可用关系类型的列表,请参阅“列出关系类型”操作。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
N/A
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果针对某些问题报告了 201 状态代码(is_success = true):“已成功将问题 "{source issue}" 与 Jira 中的以下问题相关联:{destination issues}”。

如果针对某个问题报告了 404 状态代码和“问题不存在”错误 (is_success=true):“操作无法在 Jira 中找到以下目标问题:{未找到的 Jira 问题}”。

如果所有问题都报告了 404 状态代码和“问题不存在”错误 (is_success=false):“在 Jira 中找不到任何目标问题。”

操作应失败并停止 playbook 执行

如果报告了致命错误(例如凭据错误、未连接到服务器、其他错误):“执行操作时出错”。原因:{0}''.format(error.Stacktrace)

如果未找到来源问题:“Error executing action”。原因:在 Jira 中找不到源问题“{source issue}”。请检查拼写。

如果状态代码为 404,且至少有一个不是“问题不存在”错误:“执行操作时出错”。原因:{error messages}。

常规

列出关系类型

说明

列出 Jira 中可用的关系类型。

参数

参数 类型 默认值 是否为必需属性 说明
过滤键 DDL

选择一项

可能的值:

  • 名称
  • 向内
  • Outward
指定需要用于过滤{商品类型}的键。
过滤逻辑 DDL

未指定

可能的值:

  • 未指定
  • 等于
  • 包含
指定应应用哪些过滤条件逻辑。过滤逻辑基于“过滤键”参数中提供的值运行。
过滤条件值 字符串 不适用

指定应在过滤条件中使用什么值。

如果选择“等于”,操作会尝试在结果中查找完全匹配项。

如果选择“包含”,该操作将尝试查找包含指定子字符串的结果。

如果此参数中未提供任何内容,则不会应用过滤条件。过滤逻辑基于“过滤键”参数中提供的值运行。

要返回的记录数上限 整数 50 指定要返回的记录数。如果未提供任何内容,该操作会返回 50 条记录。

运行于

此操作不会在实体上运行。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
[{
    "id": "10000",
    "name": "Blocks",
    "inward": "is blocked by",
    "outward": "blocks",
    "self": "http://172.30.201.69:8080/rest/api/2/issueLinkType/10000"
}]
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果数据可用 (is_success = true):“Successfully found relation types for the provided criteria in Jira”(已成功在 Jira 中找到所提供条件的关系类型)。

如果数据不可用 (is_success=false):“在 Jira 中未找到符合所提供条件的关联类型”

如果“过滤条件值”参数为空 (is_success=true):“未应用过滤条件,因为参数‘过滤条件值’的值为空。”

操作应失败并停止 playbook 执行

如果“过滤键”形参设置为“选择一个”,“过滤逻辑”设置为“等于”或“包含”:执行操作“{操作名称}”时出错。原因:您需要从“过滤键”参数中选择一个字段。

如果为“要返回的最大记录数”提供的值无效:“执行操作‘{action name}’时出错。原因:为“要返回的最大记录数”提供的值无效:。应提供正数"。"

如果报告了致命错误(例如凭据错误、未连接到服务器、其他错误):“Error executing action "{action name}". 原因:{0}''.format(error.Stacktrace)

常规
“案例墙”表格

表格名称:Available Relation

表格列

  • 名称 - 名称
  • 向内 - 向内
  • Outward - outward
常规

搜索用户

在 Jira 中搜索用户。

实体

此操作不会在实体上运行。

操作输入

如需配置操作,请使用以下参数:

参数
User Email Addresses 可选

要返回相应用户的电子邮件地址的列表(以英文逗号分隔)。

User Names 可选

以英文逗号分隔的用户名列表,用于返回相应用户。

Project 可选

要在其中搜索电子邮件地址的项目的名称。如果提供,则仅返回 Project Assignable Users

操作输出

操作输出类型
案例墙附件 不适用
案例墙链接 不适用
“支持请求墙”表格 不适用
丰富化表 不适用
JSON 结果 可用
脚本结果 可用
脚本结果
脚本结果名称
is_success True/False
JSON 结果
[
 {
   "Entity": "example",
   "EntityResult": {
     "_resource": "user?accountId={0}",
     "_options": {
       "server": "https://siemplify.atlassian.net",
       "auth_url": "/rest/auth/1/session",
       "context_path": "/",
       "rest_path": "api",
       "rest_api_version": "2",
       "agile_rest_path": "agile",
       "agile_rest_api_version": "1.0",
       "verify": false,
       "resilient": true,
       "async": false,
       "async_workers": 5,
       "client_cert": null,
       "check_update": false,
       "delay_reload": 0,
       "headers": {
         "Cache-Control": "no-cache",
         "Content-Type": "application/json",
         "X-Atlassian-Token": "no-check"
       }
     },
     "_session": "<jira.resilientsession.ResilientSession object>",
     "_base_url": "{server}/rest/{rest_path}/{rest_api_version}/{path}",
     "raw": {
       "self": "https://siemplify.atlassian.net/rest/api/2/user?accountId=example-account-id",
       "accountId": "example-account-id",
       "accountType": "atlassian",
       "emailAddress": "example.user",
       "avatarUrls": {
         "48x48": "https://example.com"
       },
       "displayName": "Example",
       "active": true,
       "timeZone": "UTC",
       "locale": "en_US"
     },
     "self": "https://siemplify.atlassian.net/rest/api/2/user?accountId=example-account-id",
     "accountId": "example-account-id",
     "accountType": "atlassian",
     "emailAddress": "example.user",
     "avatarUrls": "<jira.resources.PropertyHolder object>",
     "displayName": "Example",
     "active": true,
     "timeZone": "UTC",
     "locale": "en_US"
   }
 }
]
案例墙

该操作会提供以下输出消息:

输出消息 消息说明

Successfully found the following users in Jira for project PROJECT_NAME: USER_LIST

The following users were not found in Jira for project PROJECT_NAME: USER_LIST

None of the provided users were found in the project PROJECT_NAME

操作成功。
Error executing action "Search Users". Reason: ERROR_REASON

操作失败。

检查与服务器的连接、输入参数或凭据。

连接器

Jira 连接器

说明

将问题从 Jira 提取到 Google SecOps。

在 Google SecOps 中配置 Jira 连接器

有关如何在 Google SecOps 中配置连接器的详细说明,请参阅配置连接器

连接器参数

使用以下参数配置连接器:

参数 类型 默认值 是否为必需属性 说明
DeviceProductField 字符串 device_product 用于确定设备产品的字段名称。
EventClassId 字符串 name 用于确定事件名称(子类型)的字段名称。
PythonProcessTimeout 字符串 60 运行当前脚本的 Python 进程的超时限制(以秒为单位)。
API 根 字符串 https://{jira_address} Jira 实例的 API 根。
用户名 字符串 不适用 不适用
API 令牌 密码 不适用

在 Jira 控制台中生成的令牌。

注意:如果使用用户名和密码组合进行本地身份验证,此参数可用于包含“密码”字符串

向后天数 整数 5 向后拉取提醒的天数上限。
每个周期最多可创建的工单数 整数 10 在一次连接器周期中提取和处理的工单数量上限。
项目名称 字符串 不适用 以英文逗号分隔的项目名称。
问题状态 字符串 不适用 以英文逗号分隔的问题状态。
指派对象 字符串 不适用 以英文逗号分隔的用户全名。
问题类型 字符串 不适用 以英文逗号分隔的问题类型。
问题优先级 字符串 不适用 以英文逗号分隔的问题优先级。
问题组件 字符串 不适用 以英文逗号分隔的问题组件。
代理服务器地址 字符串 不适用 要使用的代理服务器的地址。
代理用户名 字符串 不适用 用于进行身份验证的代理用户名。
代理密码 密码 不适用 用于进行身份验证的代理密码。
环境字段名称 字符串 ""

描述存储环境名称的字段的名称。

如果找不到环境字段,则环境为默认环境。

环境正则表达式模式 字符串 .*

要对“环境字段名称”字段中找到的值运行的正则表达式模式。

默认值为 .*,用于捕获所有内容并返回未更改的值。

用于允许用户通过正则表达式逻辑来操纵环境字段。

如果正则表达式模式为 null 或空,或者环境值为 null,则最终环境结果为默认环境。

连接器规则

代理支持

连接器支持代理。

动态列表和屏蔽名单

连接器仅支持 Jira 中特定标签的动态列表和屏蔽列表规则。

作业

同步关闭作业

说明

如果相应的 Google SecOps 提醒已关闭,则在 Jira 中关闭工单。

参数

参数显示名称 类型 默认值 是否为必需属性 说明
API 根 字符串 https://{jira_address} Jira 实例 API 根网址。
用户名 字符串 不适用 用于连接到 Jira 实例的用户名。
API 令牌 密码 不适用

在 Jira 控制台中生成的令牌。

注意:如果使用用户名和密码组合进行本地身份验证,此参数可用于包含“密码”字符串

项目名称 字符串 以英文逗号分隔的项目名称 以英文逗号分隔的 Jira 项目名称,作业应监控这些项目。
回溯的天数上限 整数 1 向后同步工单状态的最大天数。

同步评论作业

说明

在 Google SecOps 支持请求与相应的 Jira 工单之间同步评论。同步是双向的,即从 Google SecOps 到 Jira,以及从 Jira 到 Google SecOps。

此职位仅支持带有 Jira 标记的 Google SecOps 支持请求。

作业创建评论时,会应用相应前缀。如果 Google SecOps 用户在 Google SecOps 支持请求中发表评论,该作业会使用 Chronicle 评论前缀参数在相应的 Jira 工单中创建并同步用户评论。

添加此功能有两个目的:

  1. 公开范围。
  2. 防止作业添加的评论再次同步到另一侧,从而导致循环。

参数

参数显示名称 类型 默认值 是否为必需属性 说明
API 根 字符串 https://{jira_address} Jira 实例 API 根网址。
用户名 字符串 不适用 用于连接到 Jira 实例的用户名。
API 令牌 密码 不适用

在 Jira 控制台中生成的令牌。

注意:如果使用用户名和密码组合进行本地身份验证,此参数可用于包含“密码”字符串

项目名称 字符串 以英文逗号分隔的项目名称 作业应监控的 Jira 项目名称(以英文逗号分隔)。
回溯的天数上限 整数 1 向后同步工单状态的最大天数。
Google SecOps 注释前缀 字符串 Google SecOps: 同步作业添加到为 Jira 工单创建的评论中的前缀。
Jira 注释前缀 字符串 Jira 注释同步作业: 同步作业添加到 Google SecOps 提醒支持服务工单评论的前缀。

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。