Slack
集成版本:23.0
配置 Slack 以与 Google Security Operations 搭配使用
如需将 Slack 配置为与 Google SecOps 搭配使用,首先需要创建新应用:
前往 https://api.slack.com/,然后点击 Start Building。
输入应用名称和开发 Slack 工作区参数。点击创建应用。
前往 OAuth 和权限标签页,然后向下滚动到范围部分。
添加以下范围/权限。Slack 建议为机器人添加 OAuth 令牌范围,而不是用户权限:
- channels:history
- channels:manage
- channels:read
- chat:write
- files:write
- groups:history
- groups:write
- groups:read
- im:read
- im:write
- im:history
- mpim:read
- mpim:history
- mpim:write
- users:read
- users:read.email
如需允许应用进行互动,以执行“发送互动消息”和“等待通过 Webhook 收到的回复”等操作,请为应用添加请求网址。如需了解详情,请参阅 Slack 文档中的在 Slack 应用中处理用户互动文档。
向上滚动,然后点击将应用安装到工作区。
点击允许。
复制已创建的令牌之一,具体取决于您要使用机器人还是用户。
使用其中一个令牌配置集成。
网络
函数 | 默认端口 | 方向 | 协议 |
---|---|---|---|
API | 多值 | 出站 | apitoken |
在 Google SecOps 中配置 Slack 集成
有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成。
集成参数
使用以下参数配置集成:
参数显示名称 | 类型 | 默认值 | 为必需参数 | 说明 |
---|---|---|---|---|
实例名称 | 字符串 | 不适用 | 否 | 您打算为其配置集成的实例的名称。 |
说明 | 字符串 | 不适用 | 否 | 实例的说明。 |
API 令牌 | 字符串 | 不适用 | 是 | 在 Slack 控制台中生成的 API 令牌。 |
验证 SSL | 复选框 | 尚未核查 | 否 | 如果您的 Slack 连接需要 SSL 验证,请选中此复选框(默认情况下未选中)。 |
远程运行 | 复选框 | 尚未核查 | 否 | 选中此字段,以便远程运行配置的集成。选中后,系统会显示用于选择远程用户(客服人员)的选项。 |
操作
提问
说明
在 Slack 中提问。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
渠道 | 字符串 | 不适用 | 是 | 目标渠道。 |
问题 | 字符串 | 不适用 | 是 | 问题内容。 |
运行于
此操作会在所有实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON 结果
N/A
构建块
说明
根据提供的输入条件构建 Slack 消息块。此操作会创建一个包含 webhook 的块,该块稍后可传递给“发送互动消息”操作以发送消息。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
问题 | 字符串 | 不适用 | 是 | 指定要添加到块中的问题文本。 |
回答按钮 | 字符串 | 不适用 | 是 | 指定要添加到块中的回答按钮。 |
Siemplify 基准网址 | 字符串 | 不适用 | 是 | 指定要添加到代码块中的 Google SecOps 服务器基础网址。 |
支持请求 ID | 字符串 | 不适用 | 是 | 指定要添加到代码块中的 Google SecOps 支持请求 ID。 |
Webhook 令牌 UUID | 字符串 | 不适用 | 是 | 指定要监控的 Webhook 令牌 UUID,以获取用户的响应。 |
剧本使用场景示例
构建一个可稍后传递给“发送高级消息”操作的块,以发送包含块的消息。
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON 结果
{
"result": "[{\"type\": \"section\", \"block_id\": \"f99958f1-c1f1-4fdb-bb8b-a382d952d5bd\", \"text\": {\"type\": \"mrkdwn\", \"text\": \"yes?\", \"verbatim\": false}},{\"type\": \"actions\", \"block_id\": \"2850e684-472a-472f-9a32-96294cbe9046\", \"elements\": [{\"type\": \"button\", \"text\": {\"type\": \"plain_text\", \"text\": \"y\"}, \"action_id\": \"y\", \"url\": \"...\"}, {\"type\": \"button\", \"text\": {\"type\": \"plain_text\", \"text\": \"n\"}, \"action_id\": \"n\", \"url\": \"...\"}, {\"type\": \"button\", \"text\": {\"type\": \"plain_text\", \"text\": \"View Case in Siemplify\"}, \"action_id\": \"View Case in Siemplify\", \"url\": \"...\"}]}]"
}
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功创建了 build 块 (is_succeed=True):“Slack 块已成功创建。” 如果因某些常规错误而无法创建 Slack 块 (is_succeed=False):“Failed to create a block because of the occurred error: {0}”.format(error text) 操作应失败并停止 playbook 执行: 如果集成配置中未指定基于 Webhook 的网址:“无法执行操作,请指定‘Webhook 基本网址’集成参数。” 如果系统报告了严重错误,例如凭据错误、无法连接到服务器或其他错误,则会显示以下消息:“Failed to execute "Send Advanced Message" action! 错误为 {0}".format(exception.stacktrace) |
常规 |
创建频道
说明
创建 Slack 频道。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
频道名称 | 字符串 | 不适用 | 是 | 指定频道的名称。 注意:渠道名称只能包含小写字母、数字、连字符和下划线,且不得超过 80 个字符。 |
用户 ID | 字符串 | 不适用 | 是 | 指定应邀请加入新创建的渠道的用户的 ID。 示例:U014JDHLW87、U08544ABC85。 |
是否为私享 | 复选框 | 尚未核查 | 否 | 如果启用,该操作会创建私密频道。 |
运行于
此操作会在所有实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
{
"is_general": "False",
"name_normalized": "12asd1237712318",
"is_channel": "True",
"creator": "U014J4NFQQG",
"is_member": "True",
"is_archived": "False",
"topic": {
"last_set": "0",
"value": " ",
"creator": " "
},
"parent_conversation": "None",
"is_im": "False",
"is_ext_shared": "False",
"previous_names": [],
"last_read": "0000000000.000000",
"id": "C014S1G6DB4",
"is_org_shared": "False",
"pending_connected_team_ids": [],
"is_pending_ext_shared": "False",
"is_mpim": "False",
"is_group": "False",
"shared_team_ids": ["T013MJHSNCT"],
"purpose": {
"last_set": 0,
"value": " ",
"creator": " "
},
"is_private": "False",
"is_shared": "False",
"name": "12asd1237712318",
"created": "1591194197",
"pending_shared": [],
"unlinked": 0,
"priority": 0
}
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果“ok”== true 且“Private”操作参数为 false 且 User IDs 参数为空 (is_success=true): “已成功创建渠道 {0}”.format(name) 如果“ok”== true 且“Private”操作形参为 true 且“User IDs”形参为空(is_success=true):“Successfully created private channel {0}".format(name) 如果“ok”== true 且“Private”操作形参为 false 且用户 ID 可用 (is_success=true):“已成功创建渠道 {0} 并添加了 {1} 位用户”。format(name, user_ids) 如果“ok”== true 且“Private”操作参数为 true 且用户 ID 可用(is_success=true): “Successfully created private channel {0} and added {1} users”.format(name, user_ids) 如果“ok”为 false。在第一个请求中(is_success=false): “未能创建渠道 {0}。原因:{1}".format(name, value of error parameter from response) 如果第二个请求中的“ok”为 false(is_success=false): “已创建渠道 {0},但未邀请用户。原因:".format(name, value of error parameter from response) 如果“ok”为 false 且 error 为“user_not_found”(is_success=false): “无法将用户添加到频道 {0}。Reason: {1} of the specified User IDs does not exist in Slack".format(name, len(errors) from the response) 操作应失败并停止 playbook 执行: 如果 报告了严重错误(凭据错误、连接错误、操作崩溃):“执行操作‘创建频道’时出错。原因:{0}''.format(error.Stacktrace) |
常规 |
获取频道或用户对话历史记录
说明
根据提供的输入条件获取用户或频道的对话记录。此操作适用于频道 ID 或用户 ID,可通过“列出频道”或“列出用户”操作进行搜索。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
频道或用户 ID | 字符串 | 不适用 | 是 | 指定要提取对话记录的频道或用户 ID。 |
时间范围 | DDL | 过去 1 小时 可能的值:
|
否 | 指定结果的时间范围。 如果选择“自定义”,您还需要提供“开始时间”参数。 |
开始时间 | 字符串 | 不适用 | 否 | 指定结果的开始时间。 如果为“时间范围”参数选择“自定义”,则此参数是必需的。 格式:ISO 8601。 示例:2021-08-05T05:18:42Z |
结束时间 | 字符串 | 不适用 | 否 | 指定结果的结束时间。 如果未提供任何内容,并且为“时间范围”参数选择了“自定义”,则此参数会使用当前时间。 格式:ISO 8601。 示例:2021-08-05T05:18:42Z。 |
要返回的记录数上限 | 整数 | 20 | 否 | 指定要返回的记录数。 如果未提供任何内容,该操作会返回 20 条记录。 |
剧本使用场景示例
提取对话历史记录以调查提醒。
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
[
{
"bot_id": "B02D9QYM7P0",
"type": "message",
"text": "test",
"user": "U02D1RPLVST",
"ts": "1665988448.627219",
"app_id": "A02DDGD942Z",
"team": "T02CX3N6B0B",
"bot_profile": {
"id": "B02D9QYM7P0",
"deleted": false,
"name": "Siemplify-test",
"updated": 1630908872,
"app_id": "A02DDGD942Z",
"icons": {
"image_36": "https://a.slack-edge.com/80588/img/plugins/app/bot_36.png",
"image_48": "https://a.slack-edge.com/80588/img/plugins/app/bot_48.png",
"image_72": "https://a.slack-edge.com/80588/img/plugins/app/service_72.png"
},
"team_id": "T02CX3N6B0B"
},
"blocks": [
{
"type": "rich_text",
"block_id": "JbVUf",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"type": "text",
"text": "test"
}
]
}
]
}
]
}
]
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果成功找到对话记录 (is_succeed=True):“成功提取了对话记录。” 如果找不到具有所提供 ID 的对话 (is_succeed=False):“Failed to find conversation for provided id {0}".format(channel_or_user_id) 如果找到了具有指定 ID 的对话,但未找到指定时间范围内的消息 (is_succeed=False):“找到了 ID 为 {0} 的对话,但未找到指定时间范围内的消息。”。format(channel_or_user_id) 操作应失败并停止 playbook 执行: 如果报告了致命错误(例如凭据错误、未连接到服务器或其他错误):“Failed to execute "Send Advanced Message" action! 错误为 {0}".format(exception.stacktrace) 如果为“要返回的最大记录数”参数提供的值无效:“执行操作‘{action name}’时出错。原因:为“要返回的最大记录数”提供的值无效:。应提供正数"。" 如果为“时间范围”参数选择了“自定义”,但未指定“开始时间”参数:“执行操作‘{action name}’时出错。原因:“未为自定义时间范围提供开始时间。” |
常规 |
获取用户详细信息
说明
根据提供的输入条件获取 Slack 用户详细信息。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
搜索条件 | DDL | 电子邮件 可能的值:
|
是 | 指定用于搜索用户详细信息的参数。 |
用户价值 | 字符串 | 不适用 | 是 | 指定要搜索的用户值。 |
剧本使用场景示例
获取用户详细信息,以便在 Google SecOps 中丰富提醒处理。
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_success | True/False | is_success:False |
JSON 结果
{
"id": "U043FPEMATG",
"team_id": "T02CX3N6B0B",
"name": "example.user",
"deleted": false,
"color": "3c989f",
"real_name": "Example User",
"tz": "Europe/Europe",
"tz_label": "Central European Summer Time",
"tz_offset": 7200,
"profile": {
"title": "",
"phone": "",
"skype": "",
"real_name": "Example User",
"real_name_normalized": "Example User",
"display_name": "Example User",
"display_name_normalized": "Example User",
"fields": null,
"status_text": "",
"status_emoji": "",
"status_emoji_display_info": [],
"status_expiration": 0,
"avatar_hash": "gc297456197c",
"email": "example.user@example.com",
"first_name": "Example",
"last_name": "User",
"image_24": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-24.png",
"image_32": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-32.png",
"image_48": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-48.png",
"image_72": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-72.png",
"image_192": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-192.png",
"image_512": "https://secure.gravatar.com/avatar/c297456197c0de7baa8c4b9a2398ecd1.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0011-512.png",
"status_text_canonical": "",
"team": "T02CX3N6B0B"
},
"is_admin": false,
"is_owner": false,
"is_primary_owner": false,
"is_restricted": false,
"is_ultra_restricted": false,
"is_bot": false,
"is_app_user": false,
"updated": 1663939355,
"is_email_confirmed": true,
"who_can_share_contact_card": "EVERYONE"
}
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息\* | 操作不应失败,也不应停止 playbook 执行: 如果成功找到用户详细信息 (is_succeed=True):“已成功提取用户详细信息。” 如果根据提供的条件找不到用户详细信息 (is_succeed=False):“Failed to find user details based on the provided criteria: Search by: <0> User value: <1>”。format(search_by, user_value) 如果按名称找到用户详细信息,但找到多个匹配项 (is_succeed=True):“提供的搜索条件找到了多个匹配项:搜索依据:<0> 用户值:<1>”。format(search_by, user_value) 如果因某些常规错误而找不到用户 (is_succeed=False):“Failed to fetch user details because of occurred error: (0}”(错误文本) 操作应失败并停止 playbook 执行: 如果系统报告了严重错误,例如凭据错误、无法连接到服务器或其他错误,则会显示以下消息:“Failed to execute "Send Advanced Message" action! 错误为 {0}".format(exception.stacktrace) |
常规 |
“案例墙”表格 | 表格名称:Slack 用户详细信息 表格列:
|
常规 |
按 ID 获取用户详细信息
说明
按用户 ID 获取用户详细信息。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
用户 ID | 字符串 | 不适用 | 是 | 用户的 ID。 |
运行于
此操作会在所有实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON 结果
N/A
列出频道
说明
获取 Slack 频道列表。
参数
不适用
运行于
此操作会在所有实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON 结果
[
{
"is_org_shared": false,
"is_general": true,
"name_normalized": "general",
"name": "general",
"is_channel": true,
"created": 1575550599,
"is_member": true,
"is_mpim": false,
"is_archived": false,
"creator": "URALP6WRJ",
"topic": {
"last_set": 1575550599,
"value": "Company-wide announcements and work-based matters",
"creator": "URALP6WRJ"
},
"num_members": 1,
"purpose": {
"last_set": 1575550599,
"value": "This channel is for workspace-wide communication and announcements. All members are in this channel.",
"creator": "URALP6WRJ"
},
"members": ["URALP6WRJ"],
"unlinked": 0,
"is_shared": false,
"id": "CRB4ZHGNR",
"is_private": false,
"previous_names": []
}, {
"is_org_shared": false,
"is_general": false,
"name_normalized": "random",
"name": "random",
"is_channel": true,
"created": 1575550599,
"is_member": true,
"is_mpim": false,
"is_archived": false,
"creator": "URALP6WRJ",
"topic": {
"last_set": 1575550599,
"value": "Non-work banter and water cooler conversation",
"creator": "URALP6WRJ"
},
"num_members": 1,
"purpose": {
"last_set": 1575550599,
"value": "A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber you'd prefer to keep out of more focused work-related channels.",
"creator": "URALP6WRJ"
},
"members": ["URALP6WRJ"],
"unlinked": 0,
"is_shared": false,
"id": "CRD0KF9T9",
"is_private": false,
"previous_names": []
}, {
"is_org_shared": false,
"is_general": false,
"name_normalized": "website",
"name": "website",
"is_channel": true,
"created": 1575550600,
"is_member": true,
"is_mpim": false,
"is_archived": false,
"creator": "URALP6WRJ",
"topic": {
"last_set": 0,
"value": " ",
"creator": " "
},
"num_members": 1,
"purpose": {
"last_set": 0,
"value": " ",
"creator": " "
},
"members": ["URALP6WRJ"],
"unlinked": 0,
"is_shared": false,
"id": "CRDAUBZP0",
"is_private": false,
"previous_names": []
}
]
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果“ok”== false(is_success=false):“无法列出频道。原因:{0}".format(value of error parameter from response) |
常规 |
列出用户
说明
此操作的作用是获取 Slack 用户列表。
参数
不适用
运行于
此操作会在所有实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON 结果
[
{
"profile": {
"status_text": " ",
"display_name": " ",
"status_emoji": " ",
"title": " ",
"status_text_canonical": " ",
"team": "TRALP6VNY",
"real_name": "somerealname",
"image_24": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=24&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-24.png",
"phone": " ",
"real_name_normalized": "somerealnamen",
"image_512": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=512&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-512.png",
"image_72": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=72&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-72.png",
"image_32": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=32&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-32.png",
"image_48": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=48&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-48.png",
"skype": " ",
"avatar_hash": "g2d62053d7f7",
"display_name_normalized": " ",
"status_expiration": 0,
"email": "mail@seimplify.co",
"image_192": "https://secure.gravatar.com/avatar/2d62053d7f735bc096de59639eb8f350.jpg?s=192&d=https%3A%2F%2Fa.slack-edge.com%2Fdf10d%2Fimg%2Favatars%2Fava_0022-192.png"
},
"updated": 1575550598,
"tz": "Europe/Moscow",
"name": "name",
"deleted": false,
"is_app_user": false,
"is_bot": false,
"tz_label": "Moscow Time",
"real_name": "realname",
"color": "9f69e7",
"team_id": "TRALP6VNY",
"is_admin": true,
"is_ultra_restricted": false,
"is_restricted": false,
"is_owner": true,
"tz_offset": 14400,
"has_2fa": false,
"id": "URALP6WRJ",
"is_primary_owner": true
}, {
"profile": {
"last_name": " ",
"status_emoji": " ",
"display_name_normalized": "Slackbot",
"image_32": "https://a.slack-edge.com/80588/img/slackbot_32.png",
"skype": " ",
"image_72": "https://a.slack-edge.com/80588/img/slackbot_72.png",
"status_expiration": 0,
"image_192": "https://a.slack-edge.com/80588/marketing/img/avatars/slackbot/avatar-slackbot.png",
"first_name": "slackbot",
"display_name": "Slackbot",
"title": " ",
"real_name_normalized": "Slackbot",
"always_active": true,
"status_text_canonical": " ",
"image_24": "https://a.slack-edge.com/80588/img/slackbot_24.png",
"phone": " ",
"image_48": "https://a.slack-edge.com/80588/img/slackbot_48.png",
"fields": null,
"real_name": "Slackbot",
"image_512": "https://a.slack-edge.com/80588/img/slackbot_512.png",
"team": "TRALP6VNY",
"avatar_hash": "sv41d8cd98f0",
"status_text": " "
},
"updated": 0,
"tz": null,
"name": "slackbot",
"deleted": false,
"is_app_user": false,
"is_bot": false,
"tz_label": "Pacific Standard Time",
"real_name": "Slackbot",
"color": "757575",
"team_id": "TRALP6VNY",
"is_admin": false,
"is_ultra_restricted": false,
"is_restricted": false,
"is_owner": false,
"tz_offset": -28800,
"id": "USLACKBOT",
"is_primary_owner": false
}
]
Ping
说明
测试连接。
参数
不适用
运行于
此操作会在所有实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON 结果
N/A
重命名频道
说明
重命名 Slack 频道。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
频道名称 | 字符串 | 不适用 | 否 | 指定要重命名的频道的名称。 注意:如果同时指定了“渠道名称”和“渠道 ID”参数,则该操作仅适用于 ID。 |
频道 ID | 字符串 | 不适用 | 否 | 指定要重命名的频道的 ID。 注意:如果同时指定了“渠道名称”和“渠道 ID”参数,则该操作仅适用于 ID。 |
新建名称 | 字符串 | 不适用 | 是 | 为频道指定新名称。 注意:渠道名称只能包含小写字母、数字、连字符和下划线,且不得超过 80 个字符。 |
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON 结果
当“ok”== true 时:
{
"channel": {
"id": "C013ELA1YVC",
"name": "project_old",
"is_channel": true,
"is_group": false,
"is_im": false,
"created": 1589444943,
"is_archived": false,
"is_general": false,
"unlinked": 0,
"name_normalized": "project_old",
"is_shared": false,
"parent_conversation": null,
"creator": "U0136KZ0P5M",
"is_ext_shared": false,
"is_org_shared": false,
"shared_team_ids": [
"T013MJHSNCT"
],
"pending_shared": [],
"pending_connected_team_ids": [],
"is_pending_ext_shared": false,
"is_member": true,
"is_private": false,
"is_mpim": false,
"last_read": "1595242486.000300",
"topic": {
"value": "",
"creator": "",
"last_set": 0
},
"purpose": {
"value": "This *channel* is for working on a project. Hold meetings, share docs, and make decisions together with your team.",
"creator": "U0136KZ0P5M",
"last_set": 1589444943
},
"previous_names": [
"project_new",
"project"
]
},
"ok": true,
"warning": "missing_charset",
"response_metadata": {
"warnings": [
"missing_charset"
]
}
}
当“ok”为 false 时:
{
"ok": false,
"error": "name_taken",
"warning": "missing_charset",
"response_metadata": {
"warnings": [
"missing_charset"
]
}
}
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果“ok”== true(is_success=true):“Successfully renamed channel {0} to {1} {0}”.format(name/ID, new name) 如果“ok”== false(is_success=false):“操作无法重命名频道 {0}。原因:{1}".format(name,error from the response) 如果未按频道名称找到频道(is_success=false):“操作无法重命名频道 {0}。原因:找不到频道”。format(name) 操作应失败并停止 playbook 执行: 如果系统报告严重错误(凭据错误、连接错误、操作崩溃):“执行操作‘重命名频道’时出错。原因:{0}''.format(error.Stacktrace) 如果未指定“频道名称”和“频道 ID”参数:“执行操作‘重命名频道’时出错。”原因:您需要指定“渠道名称”或“渠道 ID”。 |
常规 |
发送高级消息
说明
向 Slack 频道或用户发送高级消息。此操作可用于发送简单的文本消息和包含按钮、高级格式设置等的丰富 Slack 块消息。如需详细了解块消息,请参阅 Slack Block Kit 。
此操作可与“等待通过 Webhook 进行回复”操作搭配使用,以先通过 Webhook 向用户发送块消息,然后再通过“等待通过 Webhook 进行回复”操作检查用户的回复。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
消息类型 | DDL | 文本 可能的值:
|
是 | 指定要发送的消息类型。 |
接收者类型 | DDL | 名称 可能的值:
|
是 | 指定要向其发送消息的频道或用户名(全名)。 可以选择指定频道或用户 ID,也可以指定用户的电子邮件地址。 |
收件人 | 字符串 | 不适用 | 是 | 指定消息收件人。 |
消息 | 字符串 | 不适用 | 是 | 指定要发送的消息的内容。 |
剧本使用场景示例
发送包含按钮、链接或图片等丰富内容的消息。
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON 结果
[
{
"Entity": "U043FPEMATG",
"EntityResult": {
"channel": "D044C3DUMB2",
"message": {
"bot_id": "B02D9QYM7P0",
"type": "message",
"text": "test msg",
"user": "U02D1RPLVST",
"ts": "1666008612.116169",
"app_id": "A02DDGD942Z",
"team": "T02CX3N6B0B",
"bot_profile": {
"id": "B02D9QYM7P0",
"app_id": "A02DDGD942Z",
"name": "test",
"icons": {
"image_36": "https://a.slack-edge.com/80588/img/plugins/app/bot_36.png",
"image_48": "https://a.slack-edge.com/80588/img/plugins/app/bot_48.png",
"image_72": "https://a.slack-edge.com/80588/img/plugins/app/service_72.png"
},
"deleted": false,
"updated": 1630908872,
"team_id": "T02CX3N6B0B"
},
"blocks": [
{
"type": "rich_text",
"block_id": "RJvg",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"type": "text",
"text": "test msg"
}
]
}
]
}
]
},
"ts": "1666008612.116169",
"ok": true
}
}
]
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果消息发送成功 (is_succeed=True):“Message was sent successfully”(消息已成功发送) 如果因找不到指定收件人而导致消息未成功发送 (is_succeed=False):“Message was not sent as the specified recipient {0} with type {1} was not found.”(收件人、收件人类型) 如果因某些常规错误而导致消息未成功发送 (is_succeed=False):“Message was not sent because of occurred error: (0}”(错误文本) 操作应失败并停止 playbook 执行: 如果报告了致命错误(例如凭据错误、未连接到服务器或其他错误):“Failed to execute "Send Advanced Message" action! 错误为 {0}".format(exception.stacktrace) |
常规 |
发送互动消息
说明
向渠道或用户发送互动消息,并根据提供的 Webhook UUID 检查用户的回答。此操作类似于“发送高级消息”操作,但它仅允许发送块内容(而非纯文本消息),并且还需要一个 Webhook UUID 来检查用户对 Webhook 的响应。
该操作是异步的,请在 IDE 中相应地调整操作超时时间。
配置集成中使用的 Slack 应用,以允许交互式消息。如需详细了解 Slack 应用配置,请参阅准备应用以接收互动消息。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
接收者类型 | DDL | 名称 可能的值:
| 是 | 指定要向其发送消息的频道或用户名(全名)。 可以选择指定频道或用户 ID,也可以指定用户的电子邮件地址。 |
收件人 | 字符串 | 不适用 | 是 | 指定消息收件人。 |
消息 | 字符串 | 不适用 | 是 | 指定要发送的消息的内容。 |
Webhook 令牌 UUID | 字符串 | 不适用 | 是 | 指定要监控的用户响应的 webhook 令牌 UUID。 |
剧本使用场景示例
发送包含按钮、链接或图片等丰富内容的消息。
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON 结果
[
{
"uuid": "10953f8e-7ef8-4bde-9e9b-212005e0e737",
"type": "web",
"token_id": "47289ba5-277e-4ab9-9238-eb31080530ca",
"ip": "0000:a000000:ad80:000:20ea:653:fb97",
"hostname": "webhook.site",
"method": "GET",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15",
"content": "",
"query": {
"Answer": "yes"
},
"headers": {
"connection": [
"close"
],
"accept-encoding": [
"gzip, deflate, br"
],
"accept-language": [
"en-US,en;q=0.9"
],
"user-agent": [
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15"
],
"cookie": [
"_ga=GA"
],
"accept": [
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
],
"host": [
"webhook.site"
],
"content-length": [
""
],
"content-type": [
""
]
},
"url": "https://webhook.site/47289ba5-277e-4ab9-9238-xx0000000xx?Answer=yes",
"size": 0,
"files": [],
"created_at": "2022-10-14 19:45:40",
"updated_at": "2022-10-14 19:45:40",
"sorting": 1665776740032262,
"custom_action_output": []
}
]
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行: 如果消息发送成功 (is_succeed=True):“Message was sent successfully”(消息已成功发送) 如果因找不到指定收件人而导致消息未成功发送 (is_succeed=False):“Message was not sent as the specified recipient {0} with type {1} was not found.”(收件人、收件人类型) 如果因某些常规错误而导致消息未成功发送 (is_succeed=False):“Message was not sent because of occurred error: (0}”(错误文本) 异步功能的案例墙消息: 等待回复期间的迭代的支持请求墙消息:“等待对通过 Webhook 发送的消息的回复。Webhook url with uuid: {0}".format(webhook url from integration configuration + web token uuid) 如果成功提取了响应 (is_succeed=True):“Successfully fetched the user's response to a webhook! 响应内容:{0}".format(载荷 that was sent from user to a webhook) 如果在超时之前未能提取到响应:“未找到对 webhook 的用户响应,操作因超时而停止。” 操作应失败并停止 playbook 执行: 如果集成配置中未指定基于 Webhook 的网址,但指定了 Webhook UUID 令牌:“无法执行操作,请指定‘Webhook 基本网址’集成参数。” 如果报告了致命错误(例如凭据错误、未连接到服务器或其他错误):“Failed to execute "Send Interactive Message" action! 错误为 {0}".format(exception.stacktrace) |
常规 |
发送消息
说明
向一位用户或多位用户/多个频道发送消息。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
渠道 | 字符串 | 不适用 | 是 | 要向其发送消息的 Slack 渠道的名称或用户的电子邮件地址。 输入的值需要以英文逗号分隔。 |
消息 | 字符串 | 不适用 | 是 | 消息内容。 |
运行于
此操作会在所有实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON 结果
N/A
上传文件
说明
将文件添加到 Slack 并与团队成员分享,以便开展协作。 您可以从设备或首选文件管理应用中选择文件并将其上传到 Slack。上传的文件会存储在工作区中,并且可以搜索和共享。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
文件名 | 字符串 | 不适用 | 是 | 目标文件名。 |
文件路径 | 字符串 | 不适用 | 是 | 目标文件路径。 |
渠道 | 字符串 | 不适用 | 是 | 目标渠道。 |
运行于
此操作会在所有实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON 结果
N/A
等待回复
说明
等待频道中消息的串回复。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
渠道 | 字符串 | 不适用 | 是 | 目标渠道。 |
消息时间戳 | 字符串 | 不适用 | 是 | 要获取回复的消息的时间戳(以毫秒为单位)。 |
频道 ID | 字符串 | 不适用 | 否 | 目标 Slack 频道的 ID。 |
策略方案应用场景
包含“发送消息”操作且在等待回复后(渠道为上一个操作中的占位符 - 渠道 ID)的 playbook
运行于
此操作会在所有实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON 结果
N/A
通过 Webhook 等待回复
说明
等待用户回复通过 webhook 发送的消息。此操作会定期检查所提供的 Webhook,以查看用户是否已向其提供任何回复。如果已发送包含 Webhook 的块消息,则可以将此操作与“发送高级消息”操作搭配使用,以检查用户的回答是否已提供给 Webhook。
此操作是异步的,请在 IDE 中相应地调整脚本超时值。
参数
参数名称 | 类型 | 默认值 | 是否为必需属性 | 说明 |
---|---|---|---|---|
Webhook 令牌 UUID | 字符串 | 不适用 | 是 | 指定要监控的用户响应的 webhook 令牌 UUID。 |
剧本使用场景示例
等待通过 webhook 收到的消息回复。
运行于
此操作不会在实体上运行。
操作执行结果
脚本结果
脚本结果名称 | 值选项 | 示例 |
---|---|---|
is_succeed | True/False | is_succeed:False |
JSON 结果
{
"client_msg_id": "00000000-0000-0000-0000-000000000000",
"type": "message",
"text": "Yes",
"user": "U0000000",
"ts": "1578390603.001200",
"team": "T0000000",
"blocks": [
{
"type": "rich_text",
"block_id": "2Bb=",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"type": "text",
"text": "Example"
}
]
}
]
}
],
"thread_ts": "1578390492.001100",
"parent_user_id": "U0000000"
}
案例墙
结果类型 | 值 / 说明 | 类型 |
---|---|---|
输出消息* | 操作不应失败,也不应停止 playbook 执行: 等待回复期间的迭代的支持请求墙消息:“等待对通过 Webhook 发送的消息的回复。Webhook url with uuid: {0}".format(webhook url from integration configuration + web token uuid) 如果成功提取响应 (is_succeed=True):“Successfully fetched the user's response to a webhook! 响应内容:{0}".format(载荷 that was sent from user to a webhook) 如果在超时之前未能提取到响应:“未找到对 webhook 的用户响应,操作因超时而停止。” 操作应失败并停止 playbook 执行: 如果集成配置中未指定基于 Webhook 的网址,但指定了 Webhook UUID 令牌:“无法执行操作,请指定‘Webhook 基本网址’集成参数。” 如果报告了致命错误(例如凭据错误、未连接到服务器或其他错误):“Failed to execute "Send Advanced Message" action! 错误为 {0}".format(exception.stacktrace) |
常规 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。