このドキュメントでは、Ivanti v1.1.0 の設定方法について説明します。Netskope Cloud Exchangeの Ticket Orchestrator モジュールを備えたプラグイン。 このプラグインは、Ivanti プラットフォーム上でインシデント/チケットを作成、更新、同期するために使用します。
前提条件
この設定を完了するには、以下が必要です。
- Netskopeテナント(または、例えば本番環境と開発/テスト環境など、複数のテナント)。
- Netskope Cloud Exchangeテナントには、テナントプラグインとチケットオーケストレータープラグインが既に設定済みです。
- Connectivity to Ivanti platform (https://<ivanti URL>)
Ivantiプラグインのサポート
| デスクリプション | サポートされている型 |
|---|---|
| チケット/インシデントに関するアラート | 異常、侵害されたクレデンシャル、ポリシー、訴訟ホールド、マルサイト、マルウェア、DLP、セキュリティ評価、ウォッチリスト、検疫、修復、UBA、CTEP |
マッピング
キューマッピング
| 対象フィールド(Ivanti APIフィールド) | Ivanti フィールド (Ivanti プラットフォーム) |
|---|---|
| subject | Summary |
| symptom | デスクリプション |
| status | 状態 |
| newnotes | アクティビティ履歴 |
ステータスマッピング
| Cloud Exchangeステータス | イヴァンティのステータス |
|---|---|
| 新しい | Logged |
| 進行中 | アクティブ |
| 保留中 | お客様をお待ちしています |
| 保留中 | 解決を待っています |
| 保留中 | 第三者からの連絡を待っています |
| その他 | Resolved |
| Closed | Closed |
| その他 | Cancelled |
権限
このプラグインには以下の権限が必要です。
| オブジェクト名 | Permission |
|---|---|
| Attachment | 追加、表示、編集、削除 |
| CI | 追加、表示、編集、削除 |
| CI.CloudServiceAsset | 追加、表示、編集、削除 |
| CI.Computer | 表示、編集 |
| CI.Service | 追加、表示、編集、削除 |
| カテゴリ | 追加、表示、編集、削除 |
| CurrencyCode | 追加、表示、編集、削除 |
| Employee | 追加、表示、編集、削除 |
| FRS_MyItem | 追加、表示、編集、削除 |
| FRS_MyItemParentObjType | 追加、表示、編集、削除 |
| FRS_MyItemStatus | 追加、表示、編集、削除 |
| Frs_CompositeContract_Email | 追加、表示、編集、削除 |
| Frs_data_escalation_watch | 追加、表示、編集、削除 |
| Frs_def_hours_of_operation | 追加、表示、編集、削除 |
| Impact | 追加、表示、編集、削除 |
| ImpactHRAnouncment | 追加、表示、編集、削除 |
| Incident | 追加、表示、編集、削除 |
| IncidentBreachReasonCo | 追加、表示、編集、削除 |
| IncidentBreachResponsibility | 追加、表示、編集、削除 |
| IncidentCauseCode | 追加、表示、編集、削除 |
| IncidentDetails | 追加、表示、編集、削除 |
| IncidentDetailAccountLo | 追加、表示、編集、削除 |
| IncidentDetail.Employee | 追加、表示、編集、削除 |
| IncidentDetail.WebsiteFai | 追加、表示、編集、削除 |
| IncidentDetail.ActionNeeded | 追加、表示、編集、削除 |
| IncidentPriority | 追加、表示、編集、削除 |
| IncidentSource | 追加、表示、編集、削除 |
| IncidentStatus | 追加、表示、編集、削除 |
| IncidentType | 追加、表示、編集、削除 |
| Journal | 追加、表示、編集、削除 |
| Journal.Email | 追加、表示、編集、削除 |
| JournalEmailCategory | 追加、表示、編集、削除 |
| JournalNoteCategory | 追加、表示、編集、削除 |
| JournalNoteSource | 追加、表示、編集、削除 |
| JournalType | 追加、表示、編集、削除 |
| Location | 追加、表示、編集、削除 |
| OrganizationUnit | 追加、表示、編集、削除 |
| Profile | 追加、表示、編集、削除 |
| Profile.BusinessUnit | 追加、表示、編集、削除 |
| ProfileEmployeeStatus | 追加、表示、編集、削除 |
| ServiceAggrement | 追加、表示、編集、削除 |
| StandarduserTeam | 追加、表示、編集、削除 |
| task | 追加、表示、編集、削除 |
| Urgency | 追加、表示、編集、削除 |
注記
ここで言及されている権限はデフォルトのマッピングに関するものであり、フィールドが変更された場合やカスタムフィールドが追加された場合は、ビジネスオブジェクトに対する権限が異なる場合があります。
APIの詳細
使うAPI一覧
| 使うケース | 方法 | Endpoint |
|---|---|---|
| 認証トークンを取得する | 役職 | api/rest/authentication/login |
| マッピング用のフィールドを取得します | 得る | /api/odata/incidents/$metadata |
| Ivantiでインシデントを作成する | 役職 | /api/odata/businessobject/incidents |
| インシデントの更新 | パッチ | /api/odata/businessobject/incidents (<インシデント記録ID') |
| 同期状態 | 得る | /api/odata/businessobject/incidents |
認証トークンを取得する
API Endpoint: api/rest/authentication/login
Method: POST
Headers
| 鍵 | Value |
|---|---|
| ユーザーエージェント | netskope-ce-6.0.0-cto-ivanti-v1.1.0 |
| Accept | アプリケーション/json |
| Content-Type | アプリケーション/json |
Parameters
| 鍵 | Value |
|---|---|
| テナント | Tenant domain, netskope.try.com |
| ユーザー名 | <Username> |
| password | <Password>パスワード |
| role | <Internal Role><内部役割> |
Sample API Response
"netskope-try.trysaasit.com#2RGH742EKKELQ7LA1BDQUGBUTOEAG9G1#2"
従業員レコードIDを検証する
API Endpoint: /api/odata/businessobject/employees ('従業員レコードID')
Method: GET
Headers
| 鍵 | Value |
|---|---|
| ユーザーエージェント | netskope-ce-6.0.0-cto-ivanti-v1.1.0 |
| Accept | アプリケーション/json |
| Content-Type | アプリケーション/json |
Sample API Response
{
"@odata.context": "https://netskope-try.trysaasit.com/api/odata/$metadata#employees/$entity",
"InitialNotReadyReasonValue_Valid": null,
"InitialNotReadyReasonValue": null,
"Address1": null,
"Address1City": null,
"Address1Country": null,
"Address1State": null,
"Address1Zip": null,
"Birthdate": null,
"BusinessUnit": null,
"BusinessUnitID": null,
"ContactId": "e9c4fd8f-6fe1-ee11-b717-000d3a19b96f",
"CostCentre": null,
"CreatedBy": "Admin",
"CreatedDateTime": "2024-03-13T19:26:17.76Z",
"CreationMethod_Valid": null,
"CreationMethod": null,
"Department_Valid": null,
"Department": null,
"DepartmentCode": null,
"Department_Sync": null,
"Disabled": false,
"DisplayName": "Gary Jenkins",
"EmployeeInformation": null,
"EmployeeLocation_Valid": null,
"EmployeeLocation": null,
"EmployeePhoto": "",
"EmployeePhotoName": null,
"EmployeePhotoRevision": 10,
"EnableIPCMIntegration": false,
"FirstName": "Gary",
"Floor": null,
"HiredDate": null,
"IPCM_AgentGroup_Valid": null,
"IPCM_AgentGroup": null,
"IPCM_Audited_Valid": "CCAF93D28E8F46BBB2BB83C8B893A9D1",
"IPCM_Audited": "Group Defined",
"IPCM_Description": null,
"IPCM_EnableIPCMUser": false,
"IPCM_InitialAgentStatus_Valid": "B095CE75D44545AFA9A4A5439FA001C7",
"IPCM_InitialAgentStatus": "Group Defined",
"IPCM_InitialNotReadyReason_Valid": "CB9517EAD27A4A81BFB6618221DED1EB",
"IPCM_InitialNotReadyReason": "Group Defined",
"IPCM_NotReadyRequired_Valid": "EEA8091CF845481FA82E79303D9AB87D",
"IPCM_NotReadyRequired": "Group Defined",
"IPCM_OverrideDN": null,
"IPCM_RecordingPct": null,
"IPCM_SearchableByName": false,
"IPCM_UILanguage_Valid": null,
"IPCM_UILanguage": null,
"IPCM_VOIPLink_Category": null,
"IPCM_VOIPLink_RecID": null,
"IPCM_VOIPLink": null,
"IPCM_VoiceAgent": false,
"IPCM_VoiceSupervisor": false,
"IPCM_WrapupSeconds": 0,
"IPCM_WrapupTimeout_Valid": "2324B2F832D541A08D7B35942120B59E",
"IPCM_WrapupTimeout": "Group Defined",
"IVRPinCode": null,
"IdentityId": "eac4fd8f-6fe1-ee11-b717-000d3a19b96f",
"InternalAuthPasswd": "",
"InternalPwdDateTime": "2024-03-13T19:26:17.76Z",
"IsAutoProvisioned": false,
"IsExternalAuth": false,
"IsInternalAuth": true,
"IsNamedUser": false,
"LastExternalLoginId": null,
"LastModBy": "Admin",
"LastModDateTime": "2024-04-08T08:36:56Z",
"LastName": "Jenkins",
"LoginID": "gjenkins@netskope.com",
"ManagerEmail": null,
"ManagerLink_Category": null,
"ManagerLink_RecID": null,
"ManagerLink": null,
"MiddleName": null,
"NetworkUserName": "gjenkins@netskope.com",
"NotificationLink_Category": null,
"NotificationLink_RecID": null,
"NotificationLink": null,
"OrgUnitLink_Category": "OrganizationalUnit",
"OrgUnitLink_RecID": "978ABB09369944C1991468FC458F488E",
"OrgUnitLink": "978ABB09369944C1991468FC458F488E",
"EntityLink_Category": "OrganizationalUnit",
"EntityLink_RecID": "978ABB09369944C1991468FC458F488E",
"EntityLink": "978ABB09369944C1991468FC458F488E",
"OrganizationalUnit": "Default",
"Owner_Valid": "FB884D18F7B746A0992880F2DFFE749C",
"Owner": "Admin",
"ParentLink_Category": null,
"ParentLink_RecID": null,
"ParentLink": null,
"PasswordExpiration": true,
"PrimaryPhone": null,
"Phone1": null,
"Phone2": null,
"Prefix_Valid": null,
"Prefix": null,
"PrimaryEmail": "gjenkins@netskope.com",
"ProfileID": null,
"ReadOnly": false,
"RecId": "F7177FFB09B44D159B1ADE379A5D1BC7",
"RegionLink_Category": null,
"RegionLink_RecID": null,
"RegionLink": null,
"Room": null,
"Status_Valid": "427831F3A1234345A495A1F144C15158",
"Status": "Active",
"Suffix_Valid": null,
"Suffix": null,
"Supervisor": null,
"Team_Valid": "2E4BABD54FB9420D94F836F0D9B80C47",
"Team": "Service Desk",
"TeamEmail": "change@example.com",
"TeamManagerEmail": "change@example.com",
"TempInternalAuthPassword": "",
"TempPwdDatetime": null,
"TerminatedDate": null,
"Title_Valid": null,
"Title": null,
"Title_Sync": null,
"VIP": false,
"ReportedByLink_Category": null,
"ReportedByLink_RecID": null,
"ReportedByLink": null,
"LocationLink_Category": null,
"LocationLink_RecID": null,
"LocationLink": null,
"DefaultChargingAccount_Valid": null,
"DefaultChargingAccount": null,
"DN": null,
"Language_Valid": null,
"Language": null,
"RemoteControlUID": null,
"RemoteControlPwd": null,
"Address1Line2": null,
"NamedLicenseBundle_Valid": null,
"NamedLicenseBundle": null,
"CreationSource": null,
"LockDate": null,
"LoginAttemptCount": 0,
"CustID": null,
"SLAClass_Valid": null,
"SLAClass": null,
"LockType": "",
"Phone1Ext": null,
"Phone2Ext": null,
"WeeklyAvailability": null,
"GlobalId": null,
"LoginId_Name": null,
"ivnt_Director": null,
"ivnt_CurrencyText": null,
"ivnt_Country": null,
"ivnt_HRCaseLink_Category": null,
"ivnt_HRCaseLink_RecID": null,
"ivnt_HRCaseLink": null,
"Emp_LoginId": null,
"ivnt_WorkOrderlink_Category": null,
"ivnt_WorkOrderlink_RecID": null,
"ivnt_WorkOrderlink": null,
"ivnt_BuildingLink_Category": null,
"ivnt_BuildingLink_RecID": null,
"ivnt_BuildingLink": null,
"ivnt_CubicleLink_Category": null,
"ivnt_CubicleLink_RecID": null,
"ivnt_CubicleLink": null,
"ivnt_FloorLink_Category": null,
"ivnt_FloorLink_RecID": null,
"ivnt_FloorLink": null,
"ivnt_BuildingName": null,
"ivnt_FloorName": null,
"ivnt_CubicleNumber": null,
"ivnt_UpdateBuilding_Valid": null,
"ivnt_UpdateBuilding": null,
"ivnt_UpdateFloor_Valid": null,
"ivnt_UpdateFloor": null,
"ivnt_UpdateLocation_Valid": null,
"ivnt_UpdateLocation": null,
"BuildingName": null,
"AccessListOrgUnit": null,
"AzureAD_ID": null,
"ROLE_TO_LINK": null,
"nrn_FullName": null,
"nrn_Gender": null,
"nrn_MaritalStatus_Valid": null,
"nrn_MaritalStatus": null,
"nrn_CitizenshipStatus": null,
"nrn_MilitaryServiceStatus": null,
"nrn_ExemptionStatus": false,
"nrn_PersonalEmail": null,
"nrn_InternationalWorkPhone": null,
"nrn_InternationalMobilePhone": null,
"nrn_MailingAddress": null,
"nrn_MailingAddress2": null,
"nrn_MailingCIty": null,
"nrn_MailingProvinceState": null,
"nrn_MailingPostalCode": null,
"nrn_MailingCountry": null,
"nrn_MailingCountryCode": null,
"nrn_MaritalStatusEffectiveDate": null,
"nrn_PositionID": null,
"nrn_JobProfile": null,
"nrn_WorkerType": null,
"nrn_EffectiveDate": null,
"nrn_PayRateType": null,
"nrn_ScheduledWeeklyHours": null,
"nrn_PositionTimeType": null,
"nrn_JobExempt": null,
"nrn_FirstDateOfWork": null,
"nrn_IsAManager": false,
"nrn_ManagementLevel": null,
"nrn_Terminated": false,
"nrn_Retired": false,
"nrn_RetriementDate": null,
"nrn_EmergencyContact": null,
"nrn_WorkPhone": null,
"nrn_InternationalPhone": null,
"nrn_Address": null,
"nrn_City": null,
"nrn_State": null,
"nrn_PostalCode": null,
"nrn_HomePhone": null,
"nrn_Relationship": null,
"nrn_SecondEmergencyContact": null,
"nrn_ICE_WorkPhone": null,
"nrn_ICE_InternationalPhone": null,
"nrn_ICE_Address": null,
"nrn_ICE_City": null,
"nrn_ICE_State": null,
"nrn_ICE_PostalCode": null,
"nrn_ICE_HomePhone": null,
"nrn_ICE_Relationship": null,
"nrn_ICE2_WorkPhone": null,
"nrn_ICE2_InternationalPhone": null,
"nrn_ICE2_Address": null,
"nrn_ICE2_City": null,
"nrn_ICE2_State": null,
"nrn_ICE2_PostalCode": null,
"nrn_ICE2_HomePhone": null,
"nrn_ICE2_Relationship": null,
"CostCenterLink_RecID_Category": null,
"CostCenterLink_RecID_RecID": null,
"CostCenterLink_RecID": null,
"nrn_DailyHours": null,
"nrn_OperationalPercent": 0.00,
"nrn_AvailableHours": null,
"nrn_RemainingCapacity": null,
"nrn_NumberOfDaysRequested": null,
"nrn_TotalAllocatedHours": null,
"nrn_TaskStartDate": null,
"nrn_TaskEndDate": null,
"nrn_TaskStartDateCTime": 1712565416,
"nrn_TaskEndDateCTime": 1712565416,
"nrn_OperationalHours": null,
"extensionAttributes": null,
"extensionAttribute1": null,
"extensionAttribute2": null,
"extensionAttribute3": null,
"extensionAttribute4": null,
"extensionAttribute5": null,
"extensionAttribute6": null,
"extensionAttribute7": null,
"extensionAttribute8": null,
"extensionAttribute9": null,
"extensionAttribute10": null,
"extensionAttribute11": null,
"extensionAttribute12": null,
"extensionAttribute13": null,
"extensionAttribute14": null,
"extensionAttribute15": null,
"DexClass": null,
"DexScore": 0,
"DexScoreDate": null,
"nrn_AutoCreateTimesheet": false
}
マッピング用のフィールドを取得する
API Endpoint: /api/odata/incidents/$metadata
Method: GET
Headers
| 鍵 | Value |
|---|---|
| ユーザーエージェント | netskope-ce-6.0.0-cto-ivanti-v1.1.0 |
| Accept | アプリケーション/json |
| Content-Type | アプリケーション/json |
| Authorization | <Auth token> => Basic Auth |
| rest_api_key=<API Key> => API Key Auth |
Sample API Response
<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
<edmx:DataServices>
<Schema Namespace="MetaData" xmlns="http://docs.oasis-open.org/odata/ns/edm">
<EntityType Name="incident">
<Key>
<PropertyRef Name="RecId" />
</Key>
<Property Name="ActualCategory_Valid" Type="Edm.String" MaxLength="32" Unicode="false" />
<Property Name="ActualCategory" Type="Edm.String" MaxLength="60" />
<Property Name="CreatedDateTime" Type="Edm.DateTimeOffset" />
<Property Name="Email" Type="Edm.String" MaxLength="255" />
Type="Collection(MetaData.ivnt_chat)">
<OnDelete Action="Cascade" />
</NavigationProperty>
<NavigationProperty Name="IncidentAssocIncidentNeuronIntegration" Type="Collection(MetaData.incident)">
<OnDelete Action="Cascade" />
</NavigationProperty>
<NavigationProperty Name="ivnt_SecurityIncidentAssocIncidentNeuronsIntegration" Type="Collection(MetaData.ivnt_securityincident)">
<OnDelete Action="Cascade" />
</NavigationProperty>
<NavigationProperty Name="MicrosoftTeamsUserDetailsAssocIncident" Type="Collection(MetaData.ivnt_microsoftteamsuserdetails)">
<OnDelete Action="Cascade" />
</NavigationProperty>
<NavigationProperty Name="ivnt_GRCRiskAssocIncident" Type="Collection(MetaData.ivnt_grcrisk)">
<OnDelete Action="Cascade" />
</NavigationProperty>
<NavigationProperty Name="ivnt_GRCAuditAssocIncident" Type="Collection(MetaData.ivnt_grcaudit)">
<OnDelete Action="Cascade" />
</NavigationProperty>
</EntityType>
</Schema>
</edmx:DataServices>
</edmx:Edmx>
Ivantiでインシデントを作成する
API Endpoint: /api/odata/businessobject/incidents
Method:ポスト
Headers
| 鍵 | Value |
|---|---|
| ユーザーエージェント | netskope-ce-6.0.0-cto-ivanti-v1.1.0 |
| Accept | アプリケーション/json |
| Content-Type | アプリケーション/json |
| Authorization | <Auth token> => Basic Auth |
| rest_api_key=<API Key> => API Key Auth |
Parameters
| 鍵 | Value |
|---|---|
| ProfileLink | <Employee Record ID><従業員記録ID> |
| Symptom | インシデントデスクリプション |
| 主題 | 事件概要 |
| 状態 | Logged |
Sample API Response
{
"@odata.context": "/api/odata/$metadata#incidents/$entity",
"ActualCategory_Valid": null,
"ActualCategory": null,
"Category_Valid": null,
"Category": null,
"CauseCode_Valid": null,
"CauseCode": null,
"ClosedBy": null,
"ClosedDateTime": null,
"ClosedDuration": null,
"CreatedBy": "test@gmail.com",
"CreatedDateTime": "2024-04-09T06:21:22Z",
"Email": "gjenkins@netskope.com",
"FirstCallResolution": false,
"Impact_Valid": null,
"Impact": null,
"IncidentNumber": 78986,
"IsNotification": true,
"IsVIP": false,
"IsWorkAround": false,
"LastModBy": "InternalServices",
"LastModDateTime": "2024-04-09T06:21:25Z",
"Phone": null,
"Priority_Valid": "29CD5D78E16F4D82916C3E933A600096",
"Priority": "3",
"ProfileFullName": "Gary Jenkins",
"ProfileLink_Category": "Employee",
"ProfileLink_RecID": "F7177FFB09B44D159B1ADE379A5D1BC7",
"ProfileLink": "F7177FFB09B44D159B1ADE379A5D1BC7",
"RecId": "C9DF0BC0489447FEAC558BA55AEF17B9",
"Resolution": null,
"Service_Valid": "A912E98E55844765934A787FF3586F34",
"Service": "Service Desk",
"SLA": "",
"SLALink_Category": null,
"SLALink_RecID": null,
"SLALink": null,
"Source_Valid": "EF789CE160E742F99623DBB4D29C045C",
"Source": "Phone",
"Status_Valid": "AB3D0090B6D8471FB0D2720D301A22AF",
"Status": "Logged",
"Subject": "Create Incident test",
"Symptom": "I would like to create an incident",
"Urgency_Valid": null,
"Urgency": null,
"LoginId": "gjenkins@netskope.com",
"Owner_Valid": null,
"Owner": null,
"OwnerTeam_Valid": "F2E66A400FF24786878B4ECC2B181220",
"OwnerTeam": "Security",
"OwnerType": "Employee",
"IsNewRecord": false,
"AlternateContactLink_Category": null,
"AlternateContactLink_RecID": null,
"AlternateContactLink": null,
"ResolvedDateTime": null,
"ResolvedBy": null,
"HoursOfOperation_Valid": "FF57246B2E0047D193C1AEC1011D746B",
"HoursOfOperation": "Weekly HOP",
"OwnerEmail": null,
"OwnerTeamEmail": "Security@demokit.org",
"OwnershipAssignmentEmail": "Security@demokit.org",
"CustomerLocation_Valid": null,
"CustomerLocation": null,
"IsReportedByAlternateContact": false,
"ResolutionEscLink_Category": null,
"ResolutionEscLink_RecID": null,
"ResolutionEscLink": null,
"ResponseEscLink_Category": null,
"ResponseEscLink_RecID": null,
"ResponseEscLink": null,
"WaitingEscLink_Category": "Frs_data_escalation_watch",
"WaitingEscLink_RecID": "074369560CF74DBAA119C72896C43D8D",
"WaitingEscLink": "074369560CF74DBAA119C72896C43D8D",
"ClosingEscLink_Category": null,
"ClosingEscLink_RecID": null,
"ClosingEscLink": null,
"AlternateContactEmail": null,
"OrganizationUnitID": "Default",
"ReportingOrgUnitID_Valid": "978ABB09369944C1991468FC458F488E",
"ReportingOrgUnitID": "Default",
"TypeOfIncident": "Failure",
"AlternateContactPhone": null,
"TeamManagerEmail": "DemoFM.user@ivanticlouddev.com",
"ProblemLink_Category": null,
"ProblemLink_RecID": null,
"ProblemLink": null,
"CustomerDepartment": null,
"ActualService_Valid": "A912E98E55844765934A787FF3586F34",
"ActualService": "Service Desk",
"CostPerMinute_Currency": "USD",
"CostPerMinute_CurrencyValid": null,
"CostPerMinute": "0.8000",
"IsInFinalState": false,
"IsReclassifiedForResolution": false,
"KnowledgeLink_Category": null,
"KnowledgeLink_RecID": null,
"KnowledgeLink": null,
"PreviousState": null,
"ResolvedByIncidentNumber": null,
"TotalTimeSpent": null,
"RespondedBy": null,
"RespondedDateTime": null,
"OrgUnitLink_Category": "OrganizationalUnit",
"OrgUnitLink_RecID": "978ABB09369944C1991468FC458F488E",
"OrgUnitLink": "978ABB09369944C1991468FC458F488E",
"OwningOrgUnitId_Valid": "978ABB09369944C1991468FC458F488E",
"OwningOrgUnitId": "Default",
"ProgressBarPosition": "1",
"ResolvedByType": null,
"ReportedBy": null,
"NewNotes": null,
"CreatedByType": "Web Client",
"SLADisplayText": "",
"ServiceReqLink_Category": null,
"ServiceReqLink_RecID": null,
"ServiceReqLink": null,
"ReadOnly": false,
"Cost_Currency": "USD",
"Cost_CurrencyValid": null,
"Cost": "0.0000",
"IncidentDetailWorkflowTag": null,
"IncidentDetailSummary": null,
"IsApprovalNeeded": false,
"Approver_Valid": null,
"Approver": null,
"IsDSMTaskExisted": false,
"ApprovalStatus": null,
"SocialTextHeader": "Incident 78986: Create Incident test",
"Subcategory_Valid": null,
"Subcategory": null,
"helpdesk_Priority_Valid": null,
"helpdesk_Priority": null,
"ViewType": null,
"IncidentNetworkUserName": "gjenkins@netskope.com",
"SendSurveyNotification": true,
"EntityLink_Category": "OrganizationalUnit",
"EntityLink_RecID": "978ABB09369944C1991468FC458F488E",
"EntityLink": "978ABB09369944C1991468FC458F488E",
"EventCIRecId": null,
"IsMasterIncident": false,
"IsResolvedByMaster": false,
"MasterIncidentLink_Category": null,
"MasterIncidentLink_RecID": null,
"MasterIncidentLink": null,
"ServiceOwnerEmail": "admin@saasitdemo.com",
"IsRelatedIncidentUpdate": false,
"IsRelatedIncidentResolutionUpdate": false,
"IsUnRead": false,
"HRCaseLink_Category": null,
"RecomCategory": null,
"RecomSubCategory": null,
"IsRunTicketClassification": true,
"GRCRiskLink_Category": null,
"GRCRiskLink_RecID": null,
"GRCRiskLink": null,
"TestField": null,
}
インシデントの更新
API Endpoint: /api/odata/businessobject/incidents (<インシデント記録ID')
Method:パッチ
Headers
| 鍵 | Value |
|---|---|
| ユーザーエージェント | netskope-ce-6.0.0-cto-ivanti-v1.1.0 |
| Accept | アプリケーション/json |
| Content-Type | アプリケーション/json |
| Authorization | <Auth token> => Basic Auth |
| rest_api_key=<API Key> => API Key Auth |
Parameters
| 鍵 | Value |
|---|---|
| NewNotes | <Alert ID><Alert Name>Cloud Exchangeで、アラートID: 、アラート名: の新しいアラートを受信しました。 |
Sample API Response
{
"@odata.context": "/api/odata/$metadata#incidents/$entity",
"ActualCategory_Valid": "14348C1FFA044D8AB1E93005B4A0A287",
"ActualCategory": "Missing Item",
"Category_Valid": "14348C1FFA044D8AB1E93005B4A0A287",
"Category": "Missing Item",
"CauseCode_Valid": "E2489F3F7DA34B898CCD9569CA5541F2",
"CauseCode": "Other",
"ClosedBy": "JClerk",
"ClosedDateTime": "2019-10-16T07:09:48Z",
"ClosedDuration": 37843200,
"CreatedBy": "JClerk",
"CreatedDateTime": "2019-10-10T06:42:48Z",
"Email": "KDavidson@saasitdemo.com",
"FirstCallResolution": false,
"Impact_Valid": "1AFFC174C7EA4AB79CCA6B15EB67006D",
"Impact": "Medium",
"IncidentNumber": 10244,
"IsNotification": true,
"IsVIP": false,
"IsWorkAround": false,
"LastModBy": "test@gmail.com",
"LastModDateTime": "2024-04-09T06:31:02Z",
"Phone": "+61.2.8080.3300\r\n",
"Priority_Valid": "29CD5D78E16F4D82916C3E933A600096",
"Priority": "3",
"ProfileFullName": "Karen R Davidson",
"ProfileLink_Category": "Employee",
"ProfileLink_RecID": "E07CFB09AB324E0E8D49993D3F0C3C75",
"ProfileLink": "E07CFB09AB324E0E8D49993D3F0C3C75",
"RecId": "003B58C0B4554E4BAA30DFD88876582A",
"Resolution": "Resolved with user",
"Service_Valid": "1D2C6534C7F247B3A81DF7C205F48DCA",
"Service": "Facilities Management",
"SLA": "",
"SLALink_Category": null,
"SLALink_RecID": null,
"SLALink": null,
"Source_Valid": "FF0467C231124B2FA2DB2156632C8A92",
"Source": "Email",
"Status_Valid": "2905321A3B12477A82E94E289F47786B",
"Status": "Closed",
"Subject": "Remote control for projector in Boardroom is are missing ",
"Symptom": "This is an issue as it is roof mounted and cannot be switched on/off without the remote",
"Urgency_Valid": "44021B6CC6E44E598868C4B3306053AE",
"Urgency": "Medium",
"LoginId": "KDavidson",
"Owner_Valid": "5918944FE08C4F088C5E02E27DB7C6E3",
"Owner": "Jacob.Clerk",
"OwnerTeam_Valid": "2E4BABD54FB9420D94F836F0D9B80C47",
"OwnerTeam": "Service Desk",
"OwnerType": "Profile.Employee",
"IsNewRecord": false,
"AlternateContactLink_Category": null,
"AlternateContactLink_RecID": null,
"AlternateContactLink": null,
"ResolvedDateTime": "2019-10-13T06:42:48Z",
"ResolvedBy": "JClerk",
"HoursOfOperation_Valid": null,
"HoursOfOperation": "Weekly HOP",
"OwnerEmail": "jacob.Clerk@saasitdemo.com",
"OwnerTeamEmail": "change@example.com",
"OwnershipAssignmentEmail": "change@example.com",
"CustomerLocation_Valid": null,
"CustomerLocation": "Western Europe",
"IsReportedByAlternateContact": false,
"AlternateContactEmail": null,
"OrganizationUnitID": null,
"ReportingOrgUnitID_Valid": null,
"ReportingOrgUnitID": null,
"TypeOfIncident": "Failure",
"AlternateContactPhone": null,
"TeamManagerEmail": "change@example.com",
"ProblemLink_Category": null,
"ProblemLink_RecID": null,
"ProblemLink": null,
"CustomerDepartment": "Accounting",
"ActualService_Valid": "1D2C6534C7F247B3A81DF7C205F48DCA",
"ActualService": "Facilities Management",
"CostPerMinute_Currency": "USD",
"CostPerMinute_CurrencyValid": null,
"CostPerMinute": "0.4000",
"IsInFinalState": false,
"IsReclassifiedForResolution": false,
"KnowledgeLink_Category": null,
"KnowledgeLink_RecID": null,
"KnowledgeLink": null,
"PreviousState": null,
"ResolvedByIncidentNumber": null,
"TotalTimeSpent": 170.00,
"RespondedBy": null,
"RespondedDateTime": null,
"OrgUnitLink_Category": "OrganizationalUnit",
"OrgUnitLink_RecID": null,
"OrgUnitLink": null,
"OwningOrgUnitId_Valid": "FA9C9DD75EF9455CBC892F65691A1E7F",
"OwningOrgUnitId": "Corporate IT Operations",
"ProgressBarPosition": "5",
"ResolvedByType": "Agent",
"ReportedBy": null,
"NewNotes": null,
"CreatedByType": "Web Client",
"SLADisplayText": "",
"AddChatconversationtoActivityHistory": false,
"ivnt_TeamsUserDetailsLink_Category": null,
"ivnt_TeamsUserDetailsLink_RecID": null,
"ivnt_TeamsUserDetailsLink": null,
"VirimaAssetID": null,
"RecommendedCategory": null,
"RecommendedService": null,
"RecommendedSubCategory": null,
"Accuracy": null,
"IsRecommended": false,
"RecomService": null,
"RecomCategory": null,
"RecomSubCategory": null,
"IsRunTicketClassification": false,
"GRCRiskLink_Category": null,
"GRCRiskLink_RecID": null,
"GRCRiskLink": null,
"TestField": null,
"testvrunda": ""
}
同期状態
API Endpoint: /api/odata/businessobject/incidents
Method: GET
Headers
| 鍵 | Value |
|---|---|
| ユーザーエージェント | netskope-ce-6.0.0-cto-ivanti-v1.1.0 |
| Accept | アプリケーション/json |
| Content-Type | アプリケーション/json |
| Authorization | <Auth token> => Basic Auth |
| rest_api_key=<API Key> => API Key Auth |
Parameters
| 鍵 | Value |
|---|---|
| $filter | IncidentNumber eq 76947 |
Sample API Response
{
"@odata.context": "/api/odata/$metadata#incidents",
"@odata.count": 1,
"value": [
{
"ActualCategory_Valid": "E9EC7ADA85A84F82A30474C6A5425046",
"ActualCategory": "Capacity",
"Category_Valid": "E9EC7ADA85A84F82A30474C6A5425046",
"Category": "Capacity",
"CauseCode_Valid": "D8F223FA930E480883ECA4270B471631",
"CauseCode": "Configuration",
"ClosedBy": null,
"ClosedDateTime": null,
"ClosedDuration": null,
"CreatedBy": "gjenkins@netskope.com",
"CreatedDateTime": "2024-04-05T07:06:51Z",
"Email": "gjenkins@netskope.com",
"FirstCallResolution": false,
"Impact_Valid": null,
"Impact": null,
"IncidentNumber": 76947,
"IsNotification": true,
"IsVIP": false,
"IsWorkAround": false,
"LastModBy": "gjenkins@netskope.com",
"LastModDateTime": "2024-04-05T08:29:52Z",
"Phone": null,
"Priority_Valid": "29CD5D78E16F4D82916C3E933A600096",
"Priority": "3",
"ProfileFullName": "Gary Jenkins",
"ProfileLink_Category": "Employee",
"ProfileLink_RecID": "F7177FFB09B44D159B1ADE379A5D1BC7",
"ProfileLink": "F7177FFB09B44D159B1ADE379A5D1BC7",
"RecId": "1B261B1112714F16A0AC32ADD656E380",
"Resolution": "None",
"Service_Valid": "A912E98E55844765934A787FF3586F34",
"Service": "Service Desk",
"SLA": "",
"SLALink_Category": null,
"SLALink_RecID": null,
"SLALink": null,
"Source_Valid": "EF789CE160E742F99623DBB4D29C045C",
"Source": "Phone",
"Status_Valid": "D562C1C0DF4742CB8D60276059C3B828",
"Status": "Resolved",
"Subject": "Netskope CE alert: CE Log",
"Symptom": "Alert ID: 660f9f3cc7f5d74ff884d87b
App: Cloud Exchange
Alert Name: CE Log
Alert Type: Log
App Category: CE
User: ",
"Urgency_Valid": null,
"Urgency": null,
"LoginId": "gjenkins@netskope.com",
"Owner_Valid": "FB884D18F7B746A0992880F2DFFE749C",
"Owner": "Admin",
"OwnerTeam_Valid": "2E4BABD54FB9420D94F836F0D9B80C47",
"OwnerTeam": "Service Desk",
"OwnerType": "Employee",
"IsNewRecord": false,
"AlternateContactLink_Category": null,
"AlternateContactLink_RecID": null,
"AlternateContactLink": null,
"ResolvedDateTime": "2024-04-05T08:29:07Z",
"ResolvedBy": "gjenkins@netskope.com",
"HoursOfOperation_Valid": "FF57246B2E0047D193C1AEC1011D746B",
"HoursOfOperation": "Weekly HOP",
"OwnerEmail": "admin@saasitdemo.com",
"OwnerTeamEmail": "change@example.com",
"OwnershipAssignmentEmail": "change@example.com",
"CustomerLocation_Valid": null,
"CustomerLocation": null,
"IsReportedByAlternateContact": false,
"ResolutionEscLink_Category": "Frs_data_escalation_watch",
"ResolutionEscLink_RecID": "AE123197807D419CA87020B37249A1B7",
"ResolutionEscLink": "AE123197807D419CA87020B37249A1B7",
"ResponseEscLink_Category": "Frs_data_escalation_watch",
"ResponseEscLink_RecID": "78B7171E0F564057BAED0C074E4996BD",
"ResponseEscLink": "78B7171E0F564057BAED0C074E4996BD",
"WaitingEscLink_Category": "Frs_data_escalation_watch",
"WaitingEscLink_RecID": "EDFE3DABC0324A92845CAA0CD59E7060",
"WaitingEscLink": "EDFE3DABC0324A92845CAA0CD59E7060",
"ClosingEscLink_Category": "Frs_data_escalation_watch",
"ClosingEscLink_RecID": "A735155654E3423A844284B07C362FED",
"ClosingEscLink": "A735155654E3423A844284B07C362FED",
"AlternateContactEmail": null,
"OrganizationUnitID": "Default",
"ReportingOrgUnitID_Valid": "978ABB09369944C1991468FC458F488E",
"ReportingOrgUnitID": "Default",
"TypeOfIncident": "Failure",
"AlternateContactPhone": null,
"TeamManagerEmail": "change@example.com",
"ProblemLink_Category": null,
"ProblemLink_RecID": null,
"ProblemLink": null,
"CustomerDepartment": null,
"ActualService_Valid": "A912E98E55844765934A787FF3586F34",
"ActualService": "Service Desk",
"CostPerMinute_Currency": "USD",
"CostPerMinute_CurrencyValid": null,
"CostPerMinute": "0.4000",
"IsInFinalState": false,
"IsReclassifiedForResolution": false,
"KnowledgeLink_Category": null,
"KnowledgeLink_RecID": null,
"KnowledgeLink": null,
"PreviousState": null,
"ResolvedByIncidentNumber": null,
"TotalTimeSpent": 0.00,
"RespondedBy": "gjenkins@netskope.com",
"RespondedDateTime": "2024-04-05T07:09:45Z",
"OrgUnitLink_Category": "OrganizationalUnit",
"OrgUnitLink_RecID": "978ABB09369944C1991468FC458F488E",
"OrgUnitLink": "978ABB09369944C1991468FC458F488E",
"OwningOrgUnitId_Valid": "4A05123D660F408997A4FEE714DAD111",
"OwningOrgUnitId": "GMI",
"ProgressBarPosition": "4",
"ResolvedByType": "Agent",
"ReportedBy": null,
"NewNotes": null,
"CreatedByType": "Web Client",
"SLADisplayText": "",
"ServiceReqLink_Category": null,
"ServiceReqLink_RecID": null,
"ServiceReqLink": null,
"ReadOnly": false,
"Cost_Currency": "USD",
"Cost_CurrencyValid": null,
"Cost": "0.0000",
"IncidentDetailWorkflowTag": null,
"IncidentDetailSummary": null,
"IsApprovalNeeded": false,
"Approver_Valid": null,
"Approver": null,
"IsDSMTaskExisted": false,
"ApprovalStatus": null,
"SocialTextHeader": "Incident 76947: Netskope CE alert: CE Log",
"Subcategory_Valid": null,
"Subcategory": null,
"helpdesk_Priority_Valid": null,
"helpdesk_Priority": null,
"ViewType": null,
"IncidentNetworkUserName": "gjenkins@netskope.com",
"SendSurveyNotification": true,
"EntityLink_Category": "OrganizationalUnit",
"EntityLink_RecID": "978ABB09369944C1991468FC458F488E",
"EntityLink": "978ABB09369944C1991468FC458F488E",
"EventCIRecId": null,
"IsMasterIncident": false,
"IsResolvedByMaster": false,
"MasterIncidentLink_Category": null,
"MasterIncidentLink_RecID": null,
"MasterIncidentLink": null,
"ServiceOwnerEmail": "admin@saasitdemo.com",
"IsRelatedIncidentUpdate": false,
"ivnt_UpdateRFI": "Chat Incident(s)",
"AddChatconversationtoActivityHistory": false,
"ivnt_TeamsUserDetailsLink_Category": null,
"ivnt_TeamsUserDetailsLink_RecID": null,
"ivnt_TeamsUserDetailsLink": null,
"VirimaAssetID": null,
"RecommendedCategory": null,
"RecommendedService": null,
"RecommendedSubCategory": null,
"Accuracy": null,
"GRCRiskLink_RecID": null,
"GRCRiskLink": null,
"TestField": null,
}
]
}
パフォーマンスマトリックス
これらの測定値は、チケット/インシデントを作成するために、下記の仕様を持つ大型CEスタック上でプラグインを数時間実行することにより収集されます。
| デスクリプション | Specifications |
|---|---|
| スタックの詳細 | サイズ:大 RAM:32 GB CPU:16コア |
| Ivantiで作成されたチケット/インシデント | ~110 per minute |
ユーザーエージェント
netskope-ce-6.0.0-cto-ivanti-v1.1.0
ワークフロー
- Ivantiでユーザーロールを作成する
- APIキーを取得してください。
- 従業員記録ID(Rec ID)を取得します。
- カスタムフィールドを作成します。
- Ivantiプラグインを設定します。
- Ivantiプラグイン用のチケットオーケストレータービジネスルールを設定します。
- Ivantiプラグイン用のチケットオーケストレーターキューを設定します。
- Validate the Ivanti plugin.
Ivantiでユーザーロールを作成する
- Top Level Tabsに移動し、 Add new tabをクリックして、 Object Workspaceを選択します。
- 「incident」などの名前を入力し、オブジェクトにIncidentを選択し、レイアウトにIncidentLayout.ServiceDeskを選択します。

- Add this Tabをクリックして、次のタブ「オブジェクト権限」に移動します。必要な権限を付与してください。
- 役割を保存する。
注記
- ここで言及されている権限はデフォルトのマッピングに関するものであり、フィールドが変更された場合はビジネスオブジェクトに対する権限が異なる場合があります。
- 作成したロールを使用して、API キーを作成したり、従業員を作成したりできます。
APIキーを取得する
- Add API Keysをクリックして API キーデスクリプションを入力します。 キーを作成するユーザーSelect (以前に作成したユーザーロールで選択したユーザー)、 Saveをクリックします。 前のタブに戻ると、APIキーが作成されます。 プラグインの設定で使用されます。
従業員記録ID(Rec ID)を取得します。
- 以下に示すように、従業員名を表示名に基づいてフィルタリングし、さらにレコードIDが空でないという条件も適用します。「RecID」列が表示されます。ユーザーのRecIDをコピーして プラグインの設定に貼り付けてください。

カスタムフィールドを作成する
- フィールド名、表示名、およびフィールド属性を入力してください。
- Add This FieldをクリックしてからSaveをクリックしてください。その項目が追加されます。

注記
Ivantiで追加したカスタムフィールドがCloud Exchangeに反映されるまでには、数時間かかります。フィールドが反映されると、Cloud Exchange のキュー構成にある「ターゲット フィールド」に表示されます。
Ivantiプラグインの設定
- Nextをクリックして、設定パラメータを入力してください。
- Ivanti Tenant URL: あなたのIvantiのプラットフォームURL。
- Authentication Method: 使用する認証方法の種類Select 。 Basic Authentication Ivanti のユーザー名とパスワードを使用し、 API Key Authentication Ivanti から生成された API を使用します (上記の手順を参照)。
- Employee Record ID(RecID): ユーザーの従業員記録ID。

- 認証方法として基本認証を選択した場合は、以下のパラメータを入力してください。
- Username: Ivanti プラットフォームのユーザー。
- Password: Ivantiにおけるユーザーに関連付けられたパスワード。
- Ivanti User Role: Ivantiユーザーに割り当てられた内部ユーザーロール名。

- Nextをクリックし、要件に応じてステータスのマッピングを入力してください。

カスタムステータスフィールドを作成するには、 Add Newをクリックしてください。

フィールド名を入力して、 Add Fieldをクリックしてください。

作成ステータスをIvantiのステータスにマッピングします

Ivantiプラグイン用のチケットオーケストレータービジネスルールを設定する
Ivantiプラグインでインシデント/チケットを生成するために必要なフィルターに基づいて、ビジネスルールを作成します。
- Ticket OrchestratorでBusiness Rulesに移動し、 Create New Ruleをクリックします。
- ルール名を入力し、ビジネスルールの対象となるフィールドに対して適切なフィルタクエリ条件を作成します。Filter Queryをクリックしてクエリを手動で入力することもできます。
- Saveをクリックしてください。

- 新しく作成したビジネスルールをテストするには、 Syncをクリックして期間(日数)を入力し、次にFetchをクリックします。これにより、インシデント/チケット作成の対象となるアラートの数が表示されます。
Ivantiプラグイン用のチケットオーケストレーターキューを設定する
注記
必要であれば インシデント作成時にIvantiに表示されるその他のフィールドは、カスタムメッセージの一部としてその値を追加することが想定されています。 フィールドにはサポートされている値のみを入力してください。そうでない場合、インシデント作成時に値が反映されません。
Validate the Ivanti Plugin
Cloud Exchangeで検証する
インシデントの作成を検証するには、Cloud Exchange からの更新と同期を行い、 Loggingに移動して、CTO Ivanti プラグインからログをフィルタリングします。



Ticket Orchestratorで、「チケット」に移動し、作成されたチケットとその同期ステータスを確認してください。

Ivantiで検証する
Ivanti上でチケットの作成、更新、同期を検証するには:
- Ivantiで、 [インシデント]に移動します。作成されたすべてのインシデントは、「インシデント」ページに一覧表示されます。



Ivantiプラグインのトラブルシューティング
Ivantiでチケット/インシデントを生成できません
プラットフォーム上でインシデントが作成されない理由は、以下のいずれかの理由による可能性があります。
- Cloud Exchangeにアラートがないか、新しいアラートが取得されていません。
- ビジネスルールにはフィルタリングされたアラートがありません。
- 十分な役割が追加されていません。
What to do: 上記で指摘した根本原因を特定し、以下の解決策の中から最適なものを選択してください。
Cloud Exchange にアラートがないか、新しいアラートが取得されていません
- アラートがチケットオーケストレーターから取得されているかどうかを確認してください。アラートが利用できない場合、インシデント/チケットは作成されません。
- アラートが存在し、キューが追加されている場合、インシデントを作成するための新しいアラートが利用できない可能性があるため、チケットを作成するにはキューを手動で同期してください。

ビジネスルールにはフィルタリングされたアラートがありません
ビジネスルールを確認し、テストして、アラートがフィルタリングされているかどうかを確認してください。Ifフィルタリングでアラートが利用できません。ビジネスルールを更新してください。

十分な役割が追加されません
プラグインに追加された役割を確認してください。
インシデントの作成中にエラーが発生しました
キュー構成からデフォルトフィールドが削除されている場合、またはユーザーが追加したカスタムフィールドがキューに追加されていない場合、インシデントを作成しようとしたときにこのエラーが表示されます。



What to do:
カスタム追加された必須フィールドを特定し、キュー構成に同じフィールドとその期待値を追加します。カスタム必須フィールドが追加されていない場合は、キューに追加されたデフォルト値を確認してください。キューの設定には、件名、症状、ステータスの各フィールドを追加する必要があります。
注記
インシデントは、ステータス値が「ログ記録済み」の場合のみ作成されます。
Ivantiでカスタムフィールドを削除した際にエラーが発生する
インシデント作成用のカスタムフィールドを追加した後、そのフィールドを削除した場合、インシデント作成時に500 Internal Server Errorが発生したり、プラグイン設定時に204 No Content Errorが発生したりする可能性があります。

What to do:
最近カスタムフィールドを削除した場合は、同じフィールドを再度作成するか、Ivantiチームにお問い合わせください。
インシデントに追加されたカスタムフィールドが表示されません
Ivantiで顧客フィールドを作成し、インシデント作成のキュー設定で使うをすると、そのフィールドは Cloud Exchangeからマッピングされますが、インシデント作成時にIvantiには反映されません。 これは、カスタムフィールドがIvantiのデフォルトのインシデントスキーマに表示されないためです。
What to do: インシデントでマッピングされたカスタム追加フィールドを確認するには、キュー設定のカスタムフィールドを使うし、そこにカスタムメッセージやフィールドを追加してください。 完了したら、キューを同期してインシデントを作成します。Cloud Exchangeのチケットページから生成された参照 ID をコピーし、以下の API エンドポイントを使用して、特定のインシデントの API 応答を見つけます。 カスタムフィールドとその値がインシデントに追加されます。
API Endpoint: https:// <iavnti_base_url> /api/odata/businessobject/incidents( <incident Reference ID> )
制限
Ivanti プラットフォームには、24 時間で 100,000 API 呼び出しのレート制限があります。 プラグインが制限に達した場合、デフォルトの60秒間隔で3回再試行し、それでも解決しない場合は例外が発生します。


















