将 Jira 与 Google SecOps 集成
集成版本:50.0
本文档介绍了如何将 Jira 与 Google Security Operations 集成。
使用场景
Jira 集成使用 Google SecOps 功能来支持以下使用场景:
自动创建工单:使用 Jira 连接器自动根据 Google SecOps 提醒创建 Jira 问题,从而简化安全团队和 IT 团队之间的交接流程。
双向同步:通过使用专用同步作业自动同步 Jira 工单和 Google SecOps 支持服务请求之间的评论和状态更改,在各个平台之间保持一致性。
突发事件丰富化:使用上传附件操作将证据、日志和屏幕截图直接附加到 Jira 问题,以便为问题解决者提供完整的背景信息。
动态任务管理:直接从 Google SecOps 剧本更新、分配或关联相关的 Jira 问题,以自动执行标准操作规程 (SOP)。
准备工作
在 Google SecOps 平台中配置 Jira 集成之前,请验证您是否具备以下条件:
产品兼容性:可访问 Jira Cloud 实例或 Jira Data Center(本地)环境。
API 根网址:Jira 实例的基础网址(例如
https://yourdomain.atlassian.net)。身份验证凭据:
Jira Cloud:有效的用户名和 Atlassian API 令牌。
Jira Data Center(本地):有效的用户名和标准密码组合。
网络访问:确保 Google SecOps 平台(或远程代理)可以访问 Jira API 端点。
为 Jira Cloud 设置身份验证
如需连接到 Jira Cloud,您必须通过 Atlassian 账号创建 API 令牌:
登录您的 Atlassian 账号。
点击创建 API 令牌。
在标签字段中,输入令牌的简明名称(例如“Google SecOps 集成”),然后点击创建。
点击复制到剪贴板,然后将令牌粘贴到安全的地方以进行保存。
集成参数
Jira 集成需要以下参数:
| 参数 | 说明 |
|---|---|
Api Root |
必填。 Jira 实例的基础网址。 默认值为 |
Username |
必填。 用于连接到 Jira 的用户名。 此字段的要求因 Jira 产品而异:
|
Api Token |
必填。 用于连接到 Jira 的身份验证凭据。 不同 Jira 产品的身份验证要求各不相同。如需了解如何通过 Jira Cloud 或 Jira Data Center 进行身份验证的具体说明,请参阅准备工作。 |
Verify SSL |
可选。 如果选中此选项,集成会在连接到 Jira 服务器时验证 SSL 证书。 默认情况下,该环境处于停用状态。 |
如需了解如何在 Google SecOps 中配置集成,请参阅配置集成。
如有需要,您可以在稍后阶段进行更改。配置集成实例后,您可以在 playbook 中使用该实例。如需详细了解如何配置和支持多个实例,请参阅支持多个实例。
操作
如需详细了解操作,请参阅 在工作台页面中处理待处理的操作和执行手动操作。
添加评论
使用添加评论操作可撰写评论并将其添加到现有 Jira 问题中。
这是一种有效的方法,可用于记录发现、提供最新动态,以及直接从 Google SecOps 与团队成员协作。
此操作不适用于 Google SecOps 实体。
操作输入
添加注释操作需要以下参数:
| 参数 | 说明 |
|---|---|
Issue Key |
必填。 Jira 问题的唯一标识符(例如 |
Comment |
必填。 要添加到 Jira 问题的文本。 |
操作输出
添加注释操作可提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
脚本结果
下表列出了使用添加注释操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
comment_id |
Jira 中新创建的评论的唯一 ID。 |
分配问题
使用指派问题操作将 Jira 问题指派给特定用户。
此操作不适用于 Google SecOps 实体。
操作输入
分配问题操作需要以下参数:
| 参数 | 说明 |
|---|---|
Issue Key |
必填。 Jira 问题的唯一标识符(例如 |
Assignee |
必填。 要将问题分配给的用户的姓名或电子邮件地址。 |
Jira Username |
可选。 发起分配操作的人员的 Jira 用户名。 |
操作输出
分配问题操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
脚本结果
下表列出了使用分配问题操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
success |
true 或 false |
创建提醒问题
使用创建提醒问题操作,在 Jira 中为特定提醒创建新工单。
此操作主要在 playbook 中使用,用于将安全突发事件上报给 IT 或工程团队,以便他们进一步调查或修复。
此操作不适用于 Google SecOps 实体。
操作输入
创建提醒问题操作需要以下参数:
| 参数 | 说明 |
|---|---|
Project Key |
必填。 创建问题的 Jira 项目的唯一简短键(例如 |
Summary |
必填。 问题的简要标题或摘要。 |
Issue Type |
必填。 问题类型的名称(例如 |
操作输出
创建提醒问题操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
JSON 结果
以下示例展示了当操作成功创建问题时收到的 JSON 结果输出:
{
"summary": "Sample issue",
"description": "Create Enrich entities action using Insights API (IOC search). Write connector for alerts.",
"project": {
"key": "PR",
"name": "Project 1",
"projectTypeKey": "software"
},
"issuetype": {
"name": "Task",
"subtask": false
},
"status": {
"name": "DONE",
"statusCategory": {
"name": "Done",
"key": "done"
}
},
"priority": {
"name": "Medium",
"id": "3"
},
"creator": {
"displayName": "user1",
"emailAddress": "john_doe@example.com"
},
"assignee": {
"displayName": "user2",
"emailAddress": "john_doe@example.com"
},
"created": "2018-06-19T15:23:13.701+0300",
"updated": "2018-09-18T10:02:06.347+0300"
}
脚本结果
下表列出了使用 Create Alert Issue 操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
issue_key |
新创建的 Jira 问题的唯一简短键(例如 SEC-456)。 |
创建问题
使用 Create Issue(创建问题)操作在 Jira 项目中创建新工单。
此操作提供广泛的自定义选项,包括使用 JSON 指定组件、标签和自定义字段,因此非常适合复杂的工单创建工作流。
此操作不适用于 Google SecOps 实体。
操作输入
创建问题操作需要以下参数:
| 参数 | 说明 |
|---|---|
Project Key |
必填。 创建问题的 Jira 项目的唯一简短键(例如 |
Summary |
必填。 问题的简要标题或摘要。 |
Description |
可选。 问题的详细说明。 |
Issue Type |
必填。 问题类型的名称(例如 |
Jira Username |
可选。 发起操作的人员的 Jira 用户名。 |
Assignee |
可选。 问题所分配到的用户的标识符。 |
Components |
可选。 要与问题相关联的 Jira 组件的逗号分隔列表。 |
Labels |
可选。 要添加到问题中的标签的逗号分隔列表。 |
Custom Fields |
可选。 一个 JSON 对象,包含在创建期间要设置的其他字段和值(例如 如果发生冲突,此参数中提供的值将优先使用,并覆盖其他字段映射。 |
操作输出
创建问题操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
JSON 结果
以下示例展示了使用创建问题操作时收到的 JSON 结果输出:
{
"summary": "Sample issue",
"description": "Create Enrich entities action using Insights API (IOC search). Write connector for alerts. In a couple of days we will have access to an instance.",
"project": {
"key": "PR",
"name": "Project 1",
"projectTypeKey": "software"
},
"issuetype": {
"name": "Task",
"description": "A task that needs to be done.",
"subtask": false
},
"status": {
"name": "DONE",
"statusCategory": {
"name": "Done",
"key": "done",
"colorName": "green"
}
},
"priority": {
"name": "Medium",
"id": "3"
},
"resolution": {
"name": "Done",
"description": "Work has been completed on this issue."
},
"creator": {
"displayName": "user1",
"emailAddress": "john_doe@example.com",
"active": true,
"timeZone": "Asia/Jerusalem"
},
"assignee": {
"displayName": "user2",
"emailAddress": "john_doe@example.com",
"active": true
},
"reporter": {
"displayName": "user1",
"emailAddress": "john_doe@example.com"
},
"labels": [
"Label1"
],
"attachment": [
{
"id": "1001",
"filename": "file.rar",
"mimeType": "binary/octet-stream",
"size": 15420,
"created": "2018-06-19T15:23:07.369+0300"
}
],
"created": "2018-06-19T15:23:13.701+0300",
"updated": "2018-09-18T10:02:06.347+0300",
"resolutiondate": "2018-09-18T10:02:06.340+0300",
"watches": {
"watchCount": 1,
"isWatching": false
}
}
脚本结果
下表列出了使用创建问题操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
issue_key |
新创建的 Jira 问题的唯一简短键(例如 SEC-789)。 |
删除问题
使用删除问题操作可从 Jira 中永久移除问题。
此操作通常用于清理重复工单或移除在剧本开发期间生成的测试数据。
此操作不适用于 Google SecOps 实体。
操作输入
删除问题操作需要以下参数:
| 参数 | 说明 |
|---|---|
Issue Key |
必填。 要删除的 Jira 问题的唯一简短键(例如 |
操作输出
删除问题操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
脚本结果
下表列出了使用删除问题操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
success |
true 或 false |
下载附件
使用 Download Attachments 操作可检索附加到特定 Jira 问题的所有文件。如果附件是 .eml 文件,该操作还会下载相应电子邮件中包含的所有文件。
此操作不适用于 Google SecOps 实体。
操作输入
下载附件操作需要以下参数:
| 参数 | 说明 |
|---|---|
Issue Key |
必填。 Jira 问题的唯一简短键(例如 |
Download Path |
可选。 操作将下载的附件保存到的文件夹的本地或内部路径。 所需格式取决于您的部署类型:
|
Download Attachments to the Case Wall |
可选。 如果选择此选项,该操作会将 Jira 问题附件直接下载到当前的 Google SecOps 案例墙。 添加到案例墙的附件大小存在限制。大型文件可能无法上传。 默认情况下,该环境处于停用状态。 |
操作输出
下载附件操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
JSON 结果
以下示例展示了使用下载附件操作时收到的 JSON 结果输出:
[
{
"download_path": "downloads/Security_Evidence.eml",
"attachment_details": {
"id": "10007",
"filename": "Security_Evidence.eml",
"author": {
"displayName": "Security Analyst",
"emailAddress": "analyst@example.com",
"active": true,
"timeZone": "Asia/Calcutta"
},
"created": "2024-05-25T20:27:09.066+0530",
"size": 12049140,
"mimeType": "message/rfc822"
}
},
{
"download_path": "downloads/Logs_Attachment.txt",
"attachment_details": {
"id": "10005",
"filename": "Logs_Attachment.txt",
"author": {
"displayName": "System Admin",
"emailAddress": "admin@example.com",
"active": true,
"timeZone": "Asia/Calcutta"
},
"created": "2024-05-16T11:48:24.141+0530",
"size": 43,
"mimeType": "text/plain"
}
}
]
脚本结果
下表列出了使用下载附件操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
获取问题
使用 Get Issues 操作可检索一个或多个 Jira 问题的完整详细信息。
此操作有助于使用当前工单元数据(例如状态、受让人和优先级)丰富 Google SecOps 案例。
此操作不适用于 Google SecOps 实体。
操作输入
获取问题操作需要以下参数:
| 参数 | 说明 |
|---|---|
Issue Keys |
必填。 要提取的 Jira 问题键的英文逗号分隔列表(例如 |
操作输出
获取问题操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
JSON 结果
以下示例展示了使用 Get Issues 操作时收到的 JSON 结果输出:
{
"issues_details_list": [
{
"key": "TES-65",
"summary": "New summary",
"description": "Detailed description of the security incident.",
"project": {
"key": "TES",
"name": "test-project1",
"projectTypeKey": "software"
},
"issuetype": {
"name": "Bogue",
"subtask": false
},
"status": {
"name": "Fini",
"statusCategory": {
"name": "Terminé",
"key": "done"
}
},
"priority": {
"name": "Medium",
"id": "3"
},
"assignee": {
"displayName": "Vasil Daskalov",
"emailAddress": "vasil.daskalov@siemplify.co"
},
"creator": {
"displayName": "admin@siemplifylab.local",
"emailAddress": "admin@siemplifylab.local"
},
"created": "2021-08-31T12:15:22.089+0000",
"updated": "2021-11-11T13:16:50.552+0000",
"resolution": {
"name": "Terminé",
"description": "Ce ticket a été traité."
},
"labels": [],
"components": []
}
]
}
脚本结果
下表列出了使用 Get Issues 操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
issues_details_list |
一个列表,其中包含所请求的 Jira 问题的完整元数据。 |
关联问题
使用关联问题操作可在多个 Jira 问题之间建立关系。
此操作主要在 playbook 中使用,用于关联相关的安全事件或跟踪调查工单之间的依赖关系。
此操作不适用于 Google SecOps 实体。
操作输入
关联问题操作需要以下参数:
| 参数 | 说明 |
|---|---|
Inward Issue ID |
必填。 以英文逗号分隔的入向问题 ID 列表。 例如,如果将 |
Outward Issue IDs |
必填。 外部 Jira 问题对应的简写键。 例如,如果将 |
Relation Type |
必填。 要在问题之间创建的链接类型。 您可以运行列出关系类型操作来查找可用关系类型的列表。 默认值为 |
操作输出
关联问题操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
输出消息
关联问题操作可能会返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
操作无法在 Jira 中找到以下目标问题:ISSUE_IDS。 |
操作成功 |
Error executing action "Link Issues".
Reason: ERROR_REASON |
操作失败。 检查与服务器的连接、输入参数或凭据。 |
脚本结果
下表列出了使用关联问题操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
success |
true 或 false |
列出问题
使用 List Issues 操作可根据特定过滤条件搜索和检索 Jira 问题键列表。
此操作有助于识别与提醒上下文匹配的现有工单,以避免重复或在 playbook 中执行批量更新。
此操作不适用于 Google SecOps 实体。
操作输入
列出问题操作提供以下可选过滤参数。 如果未提供任何参数,该操作会返回集成用户可访问的所有问题。
| 参数 | 说明 |
|---|---|
Project Names |
可选。 要搜索的项目名称的逗号分隔列表。 |
Summary |
可选。 如果提供了摘要或标题,该操作会按特定摘要或标题过滤问题。 |
Description |
可选。 如果提供,则按说明中包含的文本过滤问题。 |
Issue Types |
可选。 以英文逗号分隔的问题类型列表(例如 默认值为 |
Priorities |
可选。 要过滤依据的优先级级别的英文逗号分隔列表(例如 |
Created From |
可选。 如果提供,则过滤在此日期当天或之后创建的问题(格式为 |
Updated From |
可选。 如果提供,则按在此日期当天或之后更新的问题进行过滤(格式为 |
Assignees |
可选。 要过滤的受让人标识符的逗号分隔列表。 |
Reporter |
可选。 以英文逗号分隔的举报者标识符列表,用于过滤。 |
Statuses |
可选。 要过滤的问题状态的英文逗号分隔列表(例如 |
操作输出
列出问题操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
JSON 结果
以下示例展示了使用列出问题操作时收到的 JSON 结果输出:
[
"PR-123",
"PR-124",
"SEC-789"
]
脚本结果
下表列出了使用 List Issues 操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
issues |
一个列表,其中包含找到的 Jira 问题的唯一简写键。 |
列出关系类型
使用列出关联类型操作可检索 Jira 实例中配置的所有可用链接关系类型的列表。
此操作有助于验证 Link Issues 操作的有效输入值。
此操作不适用于 Google SecOps 实体。
操作输入
列出关系类型操作需要以下参数:
| 参数 | 说明 |
|---|---|
Filter Key |
可选。 用于过滤关系类型的字段。 如果将过滤条件逻辑设置为 可能的值如下:
默认值为 |
Filter Logic |
可选。 应用于过滤条件的逻辑运算符。 可能的值如下:
默认值为 |
Filter Value |
可选。 用于根据所选 如果未提供值,即使选择了键和逻辑,也不会应用过滤条件。 |
Max Records To Return |
可选。 结果中可以返回的最大记录数。 默认值为 |
操作输出
列出关系类型操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
“支持请求墙”表格
列出关系类型操作会提供下表:
表格名称:Available Relation
表列:
- 名称
- 向内
- Outward
JSON 结果
以下示例展示了使用列出关系类型操作时收到的 JSON 结果输出:
[{
"id": "10000",
"name": "Blocks",
"inward": "is blocked by",
"outward": "blocks"
}]
输出消息
列出关系类型操作可以返回以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
Error executing action "List Relation types".
Reason: ERROR_REASON |
操作失败。 检查与服务器的连接、输入参数或凭据。 |
脚本结果
下表列出了使用列出关系类型操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
is_success |
true 或 false |
Ping
使用 Ping 操作测试与 Jira 的连接。
此操作不适用于 Google SecOps 实体。
操作输入
无。
操作输出
Ping 操作提供以下输出:
| 操作输出类型 | 可用性 |
|---|---|
| 案例墙附件 | 不可用 |
| 案例墙链接 | 不可用 |
| “支持请求墙”表格 | 不可用 |
| 丰富化表 | 不可用 |
| JSON 结果 | 不可用 |
| 输出消息 | 可用 |
| 脚本结果 | 可用 |
脚本结果
下表列出了使用 Ping 操作时脚本结果输出的值:
| 脚本结果名称 | 值 |
|---|---|
success |
true 或 false |
更新问题
说明
更新问题。对于新的 Jira API,该操作会尝试查找与受让人匹配的用户电子邮件地址,以根据该地址分配问题,然后尝试使用 displayName 字段。
参数
| 参数 | 类型 | 默认值 | 为必需属性 | 说明 |
|---|---|---|---|---|
| 问题键 | 字符串 | 不适用 | 是 | 要更新的问题的键。 |
| 状态 | 字符串 | 不适用 | 否 | 指定相关过渡名称,以便将此问题过渡到新的所需状态。 |
| 摘要 | 字符串 | 不适用 | 否 | 问题的新摘要。 |
| 说明 | 字符串 | 不适用 | 否 | 问题的新说明。 |
| 问题类型 | 字符串 | 不适用 | 否 | 新问题的类型。 |
| 分配对象 | 字符串 | 不适用 | 否 | 问题的新指派对象。 |
| Jira 用户名 | 字符串 | 不适用 | 否 | 操作发起者的 Jira 用户名。 |
| 组件 | 字符串 | 不适用 | 否 | 问题的“组件”字段。 此参数接受多个值,这些值以英文逗号分隔的字符串形式表示。 |
| 自定义字段 | JSON | 不适用 | 否 | 指定一个 JSON 对象,其中包含问题创建期间使用的所有字段和值。 注意:此参数具有优先权,所有字段都会被此参数提供的值覆盖。 示例:{"field":"value"} |
| 标签 | 字符串 | 不适用 | 否 | 问题的“组件”字段。 此参数接受多个值,这些值以英文逗号分隔的字符串形式表示。 |
Run On
此操作会在所有实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| 成功 | True/False | 成功: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
}
上传附件
说明
向问题添加附件。
参数
| 参数 | 类型 | 默认值 | 为必需属性 | 说明 |
|---|---|---|---|---|
| 问题键 | 字符串 | 不适用 | 是 | 文件路径。 |
| 文件路径 | 字符串 | 不适用 | 是 | 要上传的文件的绝对路径,以英文逗号分隔。 所需格式取决于您的部署类型:
|
Run On
此操作会在所有实体上运行。
操作执行结果
脚本结果
| 脚本结果名称 | 值选项 | 示例 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 结果
N/A
搜索用户
在 Jira 中搜索用户。
实体
此操作不会在实体上运行。
操作输入
如需配置操作,请使用以下参数:
| 参数 | |
|---|---|
User Email Addresses |
可选
要返回相应用户的电子邮件地址的列表(以英文逗号分隔)。 |
User Names |
可选
以英文逗号分隔的用户名列表,用于返回相应用户。 |
Project |
可选
要在其中搜索电子邮件地址的项目的名称。如果提供,则仅返回 |
操作输出
| 操作输出类型 | |
|---|---|
| 案例墙附件 | 不适用 |
| 案例墙链接 | 不适用 |
| “支持请求墙”表格 | 不适用 |
| 丰富化表 | 不适用 |
| 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"
}
}
]
案例墙
该操作会提供以下输出消息:
| 输出消息 | 消息说明 |
|---|---|
|
操作成功。 |
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。
当作业创建评论时,它会应用前缀。如果 Google SecOps 用户在 Google SecOps 支持请求中添加评论,该作业会使用 Chronicle 评论前缀参数在相应的 Jira 支持请求中创建并同步用户评论。
添加此功能有两个目的:
- 公开范围。
- 防止作业添加的评论再次同步到另一端,从而导致循环。
参数
| 参数显示名称 | 类型 | 默认值 | 为必需属性 | 说明 |
|---|---|---|---|---|
| API 根 | 字符串 | https://{jira_address} | 是 | Jira 实例 API 根网址。 |
| 用户名 | 字符串 | 不适用 | 是 | 用于连接到 Jira 实例的用户名。 |
| API 令牌 | 密码 | 不适用 | 是 | 在 Jira 控制台中生成的令牌。 注意:如果使用用户名和密码组合进行本地身份验证,此参数可用于包含“密码”字符串 |
| 项目名称 | 字符串 | 以英文逗号分隔的项目名称 | 是 | 作业应监控的 Jira 项目名称(以英文逗号分隔)。 |
| 回溯的天数上限 | 整数 | 1 | 是 | 向后同步工单状态的最大天数。 |
| Google SecOps 注释前缀 | 字符串 | Google SecOps: | 是 | 同步作业添加到为 Jira 工单创建的评论中的前缀。 |
| Jira 注释前缀 | 字符串 | Jira 注释同步作业: | 是 | 同步作业添加到 Google SecOps 提醒支持服务工单评论的前缀。 |
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。