EasyVista

本文档介绍了如何将 EasyVista 与 Google Security Operations 集成。

在 Google Security Operations 中配置 EasyVista 集成

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

集成参数

使用以下参数配置集成:

参数显示名称 类型 默认值 为必填项 说明
实例名称 字符串 不适用 否 您要为其配置集成的实例的名称。
说明 字符串 不适用 否 实例的说明。
API 根 字符串 https://try.easyvista.com/api/v1/ 是 要连接到的 EasyVista API 根。
账号 ID 字符串 不适用 是 EasyVista 账号 ID。
用户名 字符串 不适用 是 用于连接的 EasyVista 用户名。
密码 密码 不适用 是 用于连接的 EasyVista 密码。
验证 SSL 复选框 勾选 否 指定是否应启用证书验证,以检查为 API 根配置的证书是否有效。
远程运行 复选框 尚未核查 否 勾选此字段,以便远程运行配置的集成。选中后,系统会显示选择远程用户(代理)的选项。

操作

Ping

说明

使用 Google SecOps Content Hub 页面中的集成配置页面上提供的参数,测试与 EasyVista 实例的连接。

运行时间

此操作不会对实体运行,也没有强制性输入参数。

操作执行结果

脚本结果
脚本结果名称 “值”选项 示例
is_success True/False is_success:False
JSON 结果
{
    "HREF": "https://try.easyvista.com/api/v1/70047/requests?max_rows=1",
    "record_count": "1",
    "total_record_count": "13015",
    "records": [
        {
            "HREF": "https://try.easyvista.com/api/v1/70047/requests/000002",
            "COMMENT": {
                "HREF": "https://try.easyvista.com/api/v1/70047/requests/000002/comment"
            },
            "MAX_RESOLUTION_DATE_UT": "2010-11-19T19:00:00.000-05:00",
            "REQUEST_ID": "28452",
            "RFC_NUMBER": "000002",
            "SUBMIT_DATE_UT": "2011-11-17T19:00:00.000-05:00",
            "CATALOG_REQUEST": {
                "CODE": "",
                "CATALOG_REQUEST_PATH": "Incidents/Applications/Functional Domain/Exodata",
                "HREF": "https://try.easyvista.com/api/v1/70047/catalog-requests/4816",
                "SD_CATALOG_ID": "4816",
                "TITLE_EN": "Exodata"
            },
            "STATUS": {
                "STATUS_EN": "Closed",
                "STATUS_GUID": "{C3D9DFA7-7A21-46C2-B3A3-8BC50C9FF4F3}",
                "HREF": "https://try.easyvista.com/api/v1/70047/status/8",
                "STATUS_ID": "8"
            },
            "RECIPIENT": {
                "BEGIN_OF_CONTRACT": "1986-03-19",
                "CELLULAR_NUMBER": "790-933-579",
                "DEPARTMENT_PATH": "Sales/Direct/Services",
                "E_MAIL": "abuxtehude@evtry.com",
                "EMPLOYEE_ID": "10334",
                "LAST_NAME": "Buxtehude, Andrew",
                "LOCATION_PATH": "Europe/France/Marseille/Bldg 1/Floor 02/244",
                "PHONE_NUMBER": "+33155859446"
            },
            "REQUESTOR": {
                "BEGIN_OF_CONTRACT": "1986-03-19",
                "CELLULAR_NUMBER": "790-933-579",
                "DEPARTMENT_PATH": "Sales/Direct/Services",
                "E_MAIL": "abuxtehude@evtry.com",
                "EMPLOYEE_ID": "10334",
                "LAST_NAME": "Buxtehude, Andrew",
                "LOCATION_PATH": "Europe/France/Marseille/Bldg 1/Floor 02/244",
                "PHONE_NUMBER": "+33155859446"
            },
            "LOCATION": {
                "CITY": "",
                "LOCATION_CODE": "",
                "LOCATION_EN": "244",
                "LOCATION_PATH": "Europe/France/Marseille/Bldg 1/Floor 02/244",
                "HREF": "https://try.easyvista.com/api/v1/70047/locations/1610",
                "LOCATION_ID": "1610"
            },
            "DEPARTMENT": {
                "DEPARTMENT_CODE": "",
                "DEPARTMENT_EN": "Services",
                "DEPARTMENT_PATH": "Sales/Direct/Services",
                "HREF": "https://try.easyvista.com/api/v1/70047/departments/37",
                "DEPARTMENT_ID": "37",
                "DEPARTMENT_LABEL": ""
            },
            "KNOWNERROR": {
                "KNOWNERROR_PATH": "",
                "KNOWN_PROBLEMS_ID": "",
                "KP_NUMBER": "",
                "QUESTION_EN": ""
            }
        }
    ]
}
案例墙
结果类型 值 / 说明 类型(实体 / 常规)
输出消息*

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

如果成功:

输出“Successfully connected to the EasyVista instance with the provided connection parameters!”

操作应失败并停止 playbook 执行:

如果不成功:

输出“Failed to connect to the EasyVista instance! 错误为 {0}”。format(exception.stacktrace)

常规

获取 EasyVista 工单

说明

获取有关特定 EasyVista 工单的信息。注意:操作不适用于 Google SecOps 实体,应提供工单标识符 (rfc_number)。

参数

参数显示名称 类型 默认值 为必填项 说明
工单标识符 字符串 不适用 是 要获取其信息的 EasyVista 工单标识符,例如 S201001_000001。

Playbook 应用场景示例

获取与 Google SecOps 中处理的提醒相关联的 EasyVista 工单的信息。

运行时间

此操作在网址实体上运行。

操作执行结果

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

“常规”响应 (https://try.easyvista.com/api/v1/70047/requests/I200716_000001) - 请注意,以下是获取工单说明、评论、附件和操作的示例响应。

{
    "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001",
    "ANALYTICAL_CHARGE_PATH": "",
    "ANALYTICAL_CHARGE_ID": "",
    "ASSET_ID": "",
    "AVAILABLE_FIELD_1": "",
    "AVAILABLE_FIELD_2": "",
    "AVAILABLE_FIELD_3": "",
    "AVAILABLE_FIELD_4": "",
    "AVAILABLE_FIELD_5": "",
    "AVAILABLE_FIELD_6": "",
    "BUDGET_EFFECTIVE": "",
    "BUDGET_ID": "",
    "BUDGET_PLANNED": "",
    "CAN_BE_DUPLICATED": "0",
    "CI_ID": "",
    "CLICK_2_GET_INSTALL_RESULT": "",
    "COMMENT": {
        "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/comment"
    },
    "CONTINUITY_PLAN_ID": "",
    "COST_CENTER_ID": "",
    "CREATION_DATE_UT": "2020-07-16T04:00:24.000-04:00",
    "DELAY": "3840",
    "DEPARTMENT_PATH": "IT",
    "DEPARTMENT_ID": "100",
    "DESCRIPTION": {
        "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/description"
    },
    "DYNAMIC_DETAILS": {
        "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/dynamic_details"
    },
    "E_COST": "100.00",
    "E_DELAY": "",
    "E_SENTIMENT_ANALYSIS": "",
    "EFFECTIVE_CHANGE_DATE_END": "",
    "EFFECTIVE_CHANGE_DATE_START": "",
    "END_DATE_UT": "2020-07-28T23:13:54.000-04:00",
    "ESTIMATED_NET_PRICE": "",
    "ESTIMATED_PERCENT_COMPLETE": "",
    "EXPECTED_DATE_UT": "",
    "EXPECTED_DURATION": "",
    "EXPECTED_END_DATE_UT": "",
    "EXPECTED_START_DATE_UT": "",
    "EXTERNAL_REFERENCE": "",
    "FIRST_CALL_RESOLUTION": "0",
    "HOUR_PER_DAY": "",
    "IMPACT_ID": "3",
    "IMPUTATION_DATE": "",
    "INITIAL_SD_CATALOG_PATH": "",
    "INITIAL_SD_CATALOG_ID": "",
    "IS_FINANCIAL_COMPTED": "0",
    "IS_MAJOR_INCIDENT": "",
    "IS_TEMPLATE": "0",
    "KBASE_ID": "",
    "KNOWN_PROBLEMS_PATH": "",
    "KNOWN_PROBLEMS_ID": "",
    "LAST_DONE_BY_ID": "18376",
    "LAST_GROUP_ID": "12",
    "LAST_UPDATE": "2020-07-28T23:14:40.697-04:00",
    "LOCATION_PATH": "North America/USA/New York",
    "LOCATION_ID": "9762",
    "MARK_1": "",
    "MARK_2": "",
    "MAX_RESOLUTION_DATE_UT": "2020-07-16T17:00:00.000-04:00",
    "MS_PROJECT_IMPORT_VALIDATION_WAITING": "0",
    "NET_PRICE": "",
    "NET_PRICE_CUR_ID": "",
    "NEWS_ID": "",
    "NOT_DEDUCED_CALL": "",
    "ORDER_ID": "",
    "ORDER_NET_PRICE": "",
    "ORIGIN_TOOL_ID": "1",
    "OWNER_ID": "",
    "OWNING_GROUP_ID": "",
    "PARENT_REQUEST_ID": "",
    "PLANNED_CHANGE_DATE_END": "",
    "PLANNED_CHANGE_DATE_START": "",
    "PM_STATUS_ID": "",
    "PROJECT_ID": "",
    "PROJECT_NAME": "",
    "PROJECT_START_DATE_UT": "",
    "QTY": "",
    "RECIPIENT_ID": "18376",
    "RELEASE_ID": "",
    "RENTAL_NET_PRICE": "",
    "RENTAL_NET_PRICE_CUR_ID": "",
    "REQUALIFICATION_PROCESSING": "0",
    "REQUEST_ID": "42837",
    "REQUEST_ORIGIN_ID": "3",
    "REQUEST_PROJECT_ID": "",
    "REQUESTED_CHANGE_DATE_END": "",
    "REQUESTED_CHANGE_DATE_START": "",
    "REQUESTOR_FEEDBACK": "",
    "REQUESTOR_ID": "18376",
    "REQUESTOR_IP_ADDRESS": "",
    "REQUESTOR_PHONE": "+41798248341",
    "REQUIRED_DOWNTIME": "",
    "RFC_NUMBER": "I200716_000001",
    "RISK_AMOUNT": "",
    "RISK_DESCRIPTION": {
        "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/risk_description"
    },
    "RISK_LEVEL_ID": "",
    "ROOT_CAUSE_ID": "69",
    "SD_CATALOG_PATH": "Incidents/Equipment/Router",
    "SD_CATALOG_ID": "4606",
    "SEVERITY_ID": "40",
    "SLA_ID": "1",
    "STATUS_ID": "2",
    "SUBMIT_DATE_UT": "2020-07-16T04:00:24.000-04:00",
    "SUBMITTED_BY": "18376",
    "SYSTEM_AFFECTED": {
        "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/system_affected"
    },
    "SYSTEM_ID": "",
    "TIME_USED_TO_DELIVER_FEEDBACK": "",
    "TIME_USED_TO_SOLVE_REQUEST": "4320",
    "TITLE": "",
    "URGENCY_ID": "1",
    "VALIDATION_LEVEL_REQUIRED": "",
    "WAVE_ID_TARGET": "",
    "CATALOG_REQUEST": {
        "CODE": "46",
        "CATALOG_REQUEST_PATH": "Incidents/Equipment/Router",
        "HREF": "https://try.easyvista.com/api/v1/70047/catalog-requests/4606",
        "SD_CATALOG_ID": "4606",
        "TITLE_EN": "Router"
    },
    "STATUS": {
        "STATUS_EN": "Solved",
        "STATUS_GUID": "{DC97DD1D-0F35-4153-B0E1-0F2E0155365D}",
        "HREF": "https://try.easyvista.com/api/v1/70047/status/2",
        "STATUS_ID": "2"
    },
    "RECIPIENT": {
        "BEGIN_OF_CONTRACT": "",
        "CELLULAR_NUMBER": "+36666667776",
        "DEPARTMENT_PATH": "IT",
        "E_MAIL": "admin@evtry.com",
        "EMPLOYEE_ID": "18376",
        "LAST_NAME": "William",
        "LOCATION_PATH": "North America/USA/New York",
        "PHONE_NUMBER": "+41798248341"
    },
    "REQUESTOR": {
        "BEGIN_OF_CONTRACT": "",
        "CELLULAR_NUMBER": "+36666667776",
        "DEPARTMENT_PATH": "IT",
        "E_MAIL": "admin@evtry.com",
        "EMPLOYEE_ID": "18376",
        "LAST_NAME": "William",
        "LOCATION_PATH": "North America/USA/New York",
        "PHONE_NUMBER": "+41798248341"
    },
    "LOCATION": {
        "CITY": "",
        "LOCATION_CODE": "",
        "LOCATION_EN": "New York",
        "LOCATION_PATH": "North America/USA/New York",
        "HREF": "https://try.easyvista.com/api/v1/70047/locations/9762",
        "LOCATION_ID": "9762"
    },
    "DEPARTMENT": {
        "DEPARTMENT_CODE": "",
        "DEPARTMENT_EN": "IT",
        "DEPARTMENT_PATH": "IT",
        "HREF": "https://try.easyvista.com/api/v1/70047/departments/100",
        "DEPARTMENT_ID": "100",
        "DEPARTMENT_LABEL": ""
    },
    "KNOWNERROR": {
        "KNOWNERROR_PATH": "",
        "KNOWN_PROBLEMS_ID": "",
        "KP_NUMBER": "",
        "QUESTION_EN": ""
    }
}

说明:

{
    "COMMENT": "Here, your description",
    "PARENT_HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001",
    "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/comment"
}

评论:

{
    "DESCRIPTION": "REST API Update - This is a test comment 3, is it replacing old one?\r\nthis is solved",
    "PARENT_HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001",
    "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/description"
}

附件:

{
    "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001/documents",
    "PARENT_HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001",
    "Documents": [
        {
            "HREF": "https://try.easyvista.com/autoconnect_mail.php?field1=5C0F051E5B0F056B1E31&field2=&field3=&docpath=70047/Documents/40000_ff73bce22220ac5b8ce10cefd876a5c8a2b09fec&docname=testfile.txt",
            "PARENT_HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001",
            "DOCUMENT_ID": "40000_ff73bce22220ac5b8ce10cefd876a5c8a2b09fec&docname=testfile.txt",
            "DDL_HREF": "https://try.easyvista.com/api/v1/70047/documents/40000_ff73bce22220ac5b8ce10cefd876a5c8a2b09fec&docname=testfile.txt"
        },
        {
            "HREF": "https://try.easyvista.com/autoconnect_mail.php?field1=5C0F051E5B0F056B1E3C&field2=&field3=&docpath=70047/Documents/40000_284466a573e227bb632d977f3c4a399016d94fe6&docname=testfile2.txt",
            "PARENT_HREF": "https://try.easyvista.com/api/v1/70047/requests/I200716_000001",
            "DOCUMENT_ID": "40000_284466a573e227bb632d977f3c4a399016d94fe6&docname=testfile2.txt",
            "DDL_HREF": "https://try.easyvista.com/api/v1/70047/documents/40000_284466a573e227bb632d977f3c4a399016d94fe6&docname=testfile2.txt"
        }
    ]
}

操作:

{
    "HREF": "https://try.easyvista.com/api/v1/70047/actions?search=REQUEST.RFC_NUMBER:I200904_000001",
    "record_count": "6",
    "total_record_count": "6",
    "records": [
        {
            "HREF": "https://try.easyvista.com/api/v1/70047/actions/79439",
            "ACTION_ID": "79439",
            "ACTION_LABEL_EN": "Analysis & Resolution",
            "ACTION_NUMBER": "0",
            "DONE_BY_ID": "",
            "EXPECTED_START_DATE_UT": "",
            "LOCATION": {
                "CITY": "",
                "LOCATION_CODE": "",
                "LOCATION_EN": "-",
                "LOCATION_PATH": "",
                "HREF": "https://try.easyvista.com/api/v1/70047/locations/6",
                "LOCATION_ID": "6"
            },
            "DONE_BY": {
                "BEGIN_OF_CONTRACT": "",
                "CELLULAR_NUMBER": "",
                "DEPARTMENT_PATH": "",
                "E_MAIL": "",
                "EMPLOYEE_ID": "",
                "LAST_NAME": "",
                "LOCATION_PATH": "",
                "PHONE_NUMBER": ""
            },
            "REQUEST": {
                "MAX_RESOLUTION_DATE_UT": "2020-09-04T17:00:00.000-04:00",
                "REQUEST_ID": "42845",
                "HREF": "https://try.easyvista.com/api/v1/70047/requests/I200904_000001",
                "RFC_NUMBER": "I200904_000001",
                "SUBMIT_DATE_UT": "2020-09-04T03:07:26.000-04:00"
            }
        }]
}
案例墙
结果类型 值 / 说明 类型(实体 / 常规)
输出消息*

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

如果成功:

Print "Successfully returned EasyVista information for the ticket {0}".format(ticket_id)

如果 is_success=False,例如提供了错误的工单 ID,未获得结果:

打印“未能获取工单 {0} 的 EasyVista 信息!Error is {1}".format(ticket_id,exception.stacktrace)

操作应失败并停止 playbook 执行:

如果发生严重错误,例如凭据错误、无法连接到服务器等:

Print "Failed to execute action! 错误为 {0}”。format(exception.stacktrace)

常规
表

表名称: "EasyVista ticket {0} information:".format(ticket_id)

表格列:参数、值

HREF

DESCRIPTION

COMMENT

CREATION_DATE_UT

END_DATE_UT

LAST_UPDATE

DEPARTMENT_PATH

DEPARTMENT_ID

CATALOG_REQUEST.CATALOG_REQUEST_PATH

STATUS.STATUS_EN

RECIPIENT.E_MAIL

REQUESTOR.E_MAIL

LOCATION.LOCATION_EN

LOCATION.LOCATION_PATH

ATTACHMENTS - attachments names CSV list (docname)

Actions - action names CSV list (ACTION_LABEL_EN)

常规

向工单添加评论

说明

向 EasyVista 工单添加评论。注意:操作不适用于 Google SecOps 实体,应提供操作输入参数。

参数

参数显示名称 类型 默认值 为必填项 说明
工单标识符 字符串 不适用 是 要获取其信息的 EasyVista 工单标识符。
评论 字符串 不适用 是 要添加到 EasyVista 工单的评论。

Playbook 应用场景示例

在 EasyVista 工单中添加评论,作为调查的一部分。

运行时间

此操作不会对实体执行。

操作执行结果

脚本结果
脚本结果名称 “值”选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型(实体 / 常规)
输出消息*

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

如果成功:

Print "Successfully added a comment to the EasyVista ticket {0}".format(ticket_id)

如果 is_success=False,例如提供了错误的工单 ID,未获得结果:

Print "Failed to add a comment to the EasyVista ticket {0}! Error is {1}".format(ticket_id,exception.stacktrace)

操作应失败并停止 playbook 执行:

如果发生严重错误,例如凭据错误、无法连接到服务器等:

Print print "Failed to execute action! 错误为 {0}”。format(exception.stacktrace)

常规

等待工单更新

说明

此操作会暂停 playbook 执行,并定期连接到 EasyVista,直到超时,然后检查指定的工单是否已更新。操作还可以监控特定字段的更新,一旦该字段更新,操作就会完成并提取更新后的工单信息。

参数

参数显示名称 类型 默认值 为必填项 说明
工单标识符 字符串 不适用 是 要获取其信息的 EasyVista 工单标识符。
要监控的字段 DDL

可能的值:

状态

评论

附件

操作

否 要监控更新的 EasyVista 工单字段。

Playbook 应用场景示例

在 Google SecOps playbook 中等待,直到某些流程完成并记录在 Easyvista 中。

运行时间

此操作不会对实体执行。

操作执行结果

脚本结果
脚本结果名称 “值”选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型(实体 / 常规)
输出消息*

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

如果成功:

输出“Successfully got a an update for ticket {0}”.format(ticket_id)。

如果 is_success=False,例如提供了错误的工单 ID,未获得结果:

打印“未能获取工单 {0} 的更新!Error is {1}".format(ticket_id,exception.stacktrace)

操作应失败并停止 playbook 执行:

如果发生严重错误,例如凭据错误、无法连接到服务器等:

Print print "Failed to execute action! 错误为 {0}”。format(exception.stacktrace)

常规
表

表名称: "EasyVista ticket {0} information:".format(ticket_id)

HREF

DESCRIPTION

COMMENT

CREATION_DATE_UT

END_DATE_UT

LAST_UPDATE

DEPARTMENT_PATH

DEPARTMENT_ID

CATALOG_REQUEST.CATALOG_REQUEST_PATH

STATUS.STATUS_EN

RECIPIENT.E_MAIL

REQUESTOR.E_MAIL

LOCATION.LOCATION_EN

LOCATION.LOCATION_PATH

ATTACHMENTS - attachments names CSV list (docname)

Actions - action names CSV list (ACTION_LABEL_EN)

常规

关闭 EasyVista 工单

说明

根据提供的参数关闭 EasyVista 工单。注意:操作不适用于 Google SecOps 实体,应提供工单标识符 (rfc_number)。

参数

参数显示名称 类型 默认值 为必填项 说明
工单标识符 字符串 不适用 是 EasyVista 工单标识符,例如 S201001_000001。
评论 字符串 不适用 否 解释工单关闭原因的评论。
操作结束日期 字符串 不适用 否

与工单相关的未完成操作的结束日期以及预期的结束操作。

日期应采用以下格式:MM/DD/YYYY HH:MM:SS。

如果提供的格式不正确,操作将使用当前日期时间作为结束日期。

要删除正在进行的操作吗? 复选框 尚未核查 否 指定是否在工单关闭时删除工单正在进行的操作。

Playbook 应用场景示例

关闭与正在处理的提醒关联的 EasyVista 工单。

运行时间

此操作不会对实体执行。

操作执行结果

脚本结果
脚本结果名称 “值”选项 示例
is_success True/False is_success:False
案例墙
结果类型 值 / 说明 类型(实体 / 常规)
输出消息*

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

如果成功(服务器返回状态 201,is_success=true):

Print "Successfully closed EasyVista ticket {0}".format(EasyVista_ticket)

如果成功,但提供了错误的日期(服务器返回状态 201,is_success=true):

Print "Wrong date format is provided, EasyVista ticket {0} closed with current date time.".format(EasyVista_ticket)

如果 is_success=False(例如,提供的工单 ID 错误),服务器会返回错误:

Print "Failed to close EasyVista ticket {0}! 错误为 {1}”。format(EasyVista_ticket,exception.stacktrace)

操作应失败并停止 playbook 执行:

如果发生严重错误,例如凭据错误、无法连接到服务器等:

Print print "Failed to execute action! 错误为 {0}”。format(exception.stacktrace)

常规

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