VISO TRUST MCP Server

ทางการ

เข้าถึงและจัดการโปรแกรมความเสี่ยงจากบุคคลที่สามของ VISO TRUST ของคุณโดยตรงผ่านผู้ช่วย AI ของคุณ

เอกสาร

VISO TRUST MCP Server

เซิร์ฟเวอร์ Model Context Protocol (MCP) สำหรับการผสานความสามารถของ VISO TRUST API เข้ากับผู้ช่วย AI

ข้อกำหนด

  • Java 21+
  • Gradle
  • Docker (ไม่บังคับ สำหรับการปรับใช้แบบคอนเทนเนอร์)
  • MCP Inspector (ไม่บังคับ สำหรับการทดสอบ)

การกำหนดค่า

การกำหนดค่า VISO TRUST API

คุณสมบัติต่อไปนี้สามารถกำหนดค่าได้สำหรับ VISO TRUST API:

  • visotrust.api.base-url: URL ฐานสำหรับ VISO TRUST API (ค่าเริ่มต้น: http://localhost:8080)
  • visotrust.api.token: โทเค็น API ของคุณจากแพลตฟอร์ม VISO TRUST (จำเป็น)
  • visotrust.api.timeout: ระยะหมดเวลาคำขอ API ในหน่วยมิลลิวินาที (ค่าเริ่มต้น: 30000)
  • visotrust.api.connect-timeout: ระยะหมดเวลาการเชื่อมต่อ API ในหน่วยมิลลิวินาที (ค่าเริ่มต้น: 5000)

สำหรับข้อมูลเกี่ยวกับวิธีสร้างโทเค็น API สำหรับตัวแปรสภาพแวดล้อม visotrust.api.token โปรดดู เอกสารสนับสนุน VISO TRUST

โปรไฟล์แอปพลิเคชัน

แอปพลิเคชันนี้รองรับโปรไฟล์ Spring Boot เพื่อเปิดใช้งานการกำหนดค่าที่แตกต่างกันสำหรับสถานการณ์การปรับใช้ที่แตกต่างกัน

โปรไฟล์ Remote

โปรไฟล์ remote ถูกออกแบบมาโดยเฉพาะสำหรับ การสนับสนุน MCP ระยะไกลโดยใช้ Server-Sent Events (SSE) โปรไฟล์นี้กำหนดค่าแอปพลิเคชันให้ทำงานได้อย่างเหมาะสมในสภาพแวดล้อมแบบกระจายที่เซิร์ฟเวอร์ MCP จำเป็นต้องสื่อสารกับไคลเอนต์ระยะไกลผ่านการเชื่อมต่อ HTTP/SSE

ความแตกต่างที่สำคัญในโปรไฟล์ remote:

  • กำหนดค่าสำหรับการสื่อสารแบบ SSE แทน I/O มาตรฐาน
  • การตั้งค่าเซิร์ฟเวอร์ที่ปรับให้เหมาะสมสำหรับการเชื่อมต่อไคลเอนต์ระยะไกล
  • การบันทึกที่เพิ่มขึ้นสำหรับการดีบักแบบกระจาย

วิธีเปิดใช้งานโปรไฟล์ remote:

เมื่อรันด้วย Java โดยตรง:

java -jar viso-mcp-server-<version>.jar --spring.profiles.active=remote

เมื่อรันด้วย Gradle:

./gradlew bootRun --args="--spring.profiles.active=remote"

เมื่อใช้ Docker:

docker run -i --rm \
  -e VISOTRUST_API_TOKEN=<your-api-token> \
  -e SPRING_PROFILES_ACTIVE=remote \
  viso-mcp-server

เมื่อใดควรใช้โปรไฟล์ remote:

  • เมื่อปรับใช้เซิร์ฟเวอร์ MCP กับเซิร์ฟเวอร์ระยะไกลหรือสภาพแวดล้อมคลาวด์
  • เมื่อไคลเอนต์จะเชื่อมต่อผ่าน HTTP/SSE แทน stdio โดยตรง
  • เมื่อคุณต้องการการบันทึกและการตรวจสอบที่เพิ่มขึ้นสำหรับการปรับใช้แบบกระจาย
  • เมื่อผสานรวมกับผู้ช่วย AI บนเว็บที่ต้องการการสื่อสาร SSE

สำหรับการพัฒนาในเครื่องและการสื่อสาร stdio โดยตรง ให้ใช้โปรไฟล์เริ่มต้น (ไม่จำเป็นต้องระบุโปรไฟล์)

การติดตั้ง

การติดตั้งด่วน

คลิกปุ่มใดปุ่มหนึ่งด้านล่างเพื่อติดตั้ง VISO MCP Server ใน VS Code:

Install with Docker in VS Code Install with Docker in VS Code Insiders

การตั้งค่าด้วยตนเองกับ VS Code

เพิ่มบล็อก JSON ต่อไปนี้ลงในไฟล์ User Settings (JSON) ของคุณใน VS Code คุณสามารถทำได้โดยกด Ctrl + Shift + P แล้วพิมพ์ Preferences: Open User Settings (JSON)

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "viso_baseurl",
        "description": "VISO TRUST API Base URL",
        "default": "https://app.visotrust.com"
      },
      {
        "type": "promptString",
        "id": "viso_token",
        "description": "VISO TRUST API Token",
        "password": true
      }
    ],
    "servers": {
      "viso-mcp": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "VISOTRUST_API_TOKEN",
          "-e",
          "VISOTRUST_API_BASEURL",
          "visotrustai/viso-mcp-server:latest"
        ],
        "env": {
          "VISOTRUST_API_BASEURL": "${input:viso_baseurl}",
          "VISOTRUST_API_TOKEN": "${input:viso_token}"
        }
      }
    }
  }
}

หรือคุณสามารถเพิ่มตัวอย่างที่คล้ายกัน (เช่น ไม่มีคีย์ mcp) ลงในไฟล์ชื่อ .vscode/mcp.json ในพื้นที่ทำงานของคุณ ซึ่งจะช่วยให้คุณสามารถแชร์การกำหนดค่ากับผู้อื่นได้

{
  "inputs": [
    {
      "type": "promptString",
      "id": "viso_baseurl",
      "description": "VISO TRUST API Base URL",
      "default": "https://app.visotrust.com"
    },
    {
      "type": "promptString",
      "id": "viso_token",
      "description": "VISO TRUST API Token",
      "password": true
    }
  ],
  "servers": {
    "viso-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "VISOTRUST_API_TOKEN",
        "-e",
        "VISOTRUST_API_BASEURL",
        "visotrustai/viso-mcp-server:latest"
      ],
      "env": {
        "VISOTRUST_API_BASEURL": "${input:viso_baseurl}",
        "VISOTRUST_API_TOKEN": "${input:viso_token}"
      }
    }
  }
}

การใช้งานกับ Claude Desktop และไคลเอนต์ MCP อื่นๆ

การกำหนดค่า Docker

{
    "mcpServers": {
        "viso-mcp": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e", "VISOTRUST_API_TOKEN",
                "-e", "VISOTRUST_API_BASEURL",
                "visotrustai/viso-mcp-server:latest"
            ],
            "env": {
                "VISOTRUST_API_TOKEN": "<your-api-token>",
                "VISOTRUST_API_BASEURL": "https://app.visotrust.com"
            }
        }
    }
}

การกำหนดค่า Java

{
    "mcpServers": {
        "viso-mcp": {
            "command": "java",
            "args": [
                "-jar",
                "viso-mcp-server-<version>.jar",
                "--port",
                "8080",
                "--host",
                "localhost"
            ],
            "env": {
                "JAVA_TOOL_OPTIONS": "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005",
                "VISOTRUST_API_TOKEN": "<your-api-token>",
                "VISOTRUST_API_BASEURL": "https://app.visotrust.com"
            }
        }
    }
}

หมายเหตุ: ตัวแปรสภาพแวดล้อม JAVA_TOOL_OPTIONS ใช้เพื่อตั้งค่าตัวเลือก JVM สำหรับการดีบักระยะไกล สามารถเปลี่ยนที่อยู่และพอร์ตได้ตามต้องการ

💻 การพัฒนา

การตั้งค่า Docker

สร้าง Docker Image

docker build -t viso-mcp-server .

รัน Docker Container

docker run -i --rm -e VISOTRUST_API_TOKEN=<your-api-token> viso-mcp-server

การดีบัก

ติดตั้ง MCP Inspector

npm -g install @modelcontextprotocol/inspector

รัน MCP Inspector สำหรับการทดสอบ

  1. สร้างไฟล์ Jar ของ MCP Server
./gradlew bootJar
  1. รัน MCP Inspector
npx @modelcontextprotocol/inspector \
    -e JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=\*:5005 \
    -e VISOTRUST_API_TOKEN=<your-api-token> \
    java -jar build/libs/viso-mcp-server-<version>.jar \
    --port 8080 --host localhost

แทนที่ <version> ด้วยเวอร์ชันปัจจุบันของโปรเจกต์ (เช่น 1.0.0 หรือเวอร์ชันจากรุ่นล่าสุด)

ไปป์ไลน์ CI/CD

โปรเจกต์นี้ใช้ GitHub Actions สำหรับการผสานรวมและปรับใช้ต่อเนื่อง เวิร์กโฟลว์ประกอบด้วยงานต่อไปนี้:

Lint

ตรวจสอบการจัดรูปแบบโค้ดโดยใช้ Spotless:

./gradlew spotlessCheck

Build

สร้างแอปพลิเคชันและสร้างไฟล์ JAR:

./gradlew build

Publish

เมื่อสร้างรุ่นใหม่:

  1. อัปเดตเวอร์ชันโปรเจกต์ใน build.gradle ให้ตรงกับแท็กรุ่น
  2. อัปโหลดไฟล์ JAR ไปยัง GitHub release ด้วยเวอร์ชันจากแท็กรุ่น
  3. สร้างและพุช Docker image ไปยัง Docker Hub ด้วยแท็ก:
    • latest
    • แท็กรุ่น (เช่น v1.0.0)
ซีเคร็ตที่จำเป็นสำหรับการเผยแพร่

เพื่อเปิดใช้งานการเผยแพร่ Docker Hub ให้เพิ่มซีเคร็ตเหล่านี้ไปยังที่เก็บ GitHub ของคุณ:

  • DOCKERHUB_USERNAME: ชื่อผู้ใช้ Docker Hub ของคุณ
  • DOCKERHUB_TOKEN: โทเค็นการเข้าถึง Docker Hub ของคุณ

🛠️ เครื่องมือ

ส่วนนี้ให้เอกสารสำหรับเครื่องมือที่เปิดเผยโดย VISO MCP Server แต่ละเครื่องมือมีวัตถุประสงค์ พารามิเตอร์อินพุต และรูปแบบเอาต์พุตเฉพาะ

การประเมิน

get_assessment - รับการประเมินตาม ID

  • id: ID การประเมิน (ตัวเลข, จำเป็น)

ส่งคืนข้อมูลโดยละเอียดเกี่ยวกับการประเมินเฉพาะ

get_assessment_summary - รับสรุปสำหรับการประเมินตาม ID

  • id: ID การประเมิน (ตัวเลข, จำเป็น)

ส่งคืนรายละเอียดสรุปสำหรับการประเมินเฉพาะ

create_assessment - เริ่มการประเมินสำหรับความสัมพันธ์ที่มีอยู่

  • relationshipId: ID ของความสัมพันธ์ที่จะสร้างการประเมิน (ตัวเลข, จำเป็น)
  • recipientEmail: ที่อยู่อีเมลของผู้รับการประเมิน (สตริง, ไม่บังคับ)
  • recipientFirstName: ชื่อจริงของผู้รับการประเมิน (สตริง, ไม่บังคับ)
  • recipientLastName: นามสกุลของผู้รับการประเมิน (สตริง, ไม่บังคับ)
  • publicDocumentUrls: URL ของเอกสารสาธารณะที่จะรวมในการประเมิน (สตริง[], ไม่บังคับ)
  • followupType: ประเภทของการติดตามผล (สตริง enum, ไม่บังคับ)
  • followupRiskThreshold: เกณฑ์ระดับความเสี่ยงที่เรียกการติดตามผล (สตริง enum, ไม่บังคับ)
  • followupTimeline: เส้นเวลาสำหรับการดำเนินการติดตามผล (สตริง enum, ไม่บังคับ)
  • collectionTimeline: เส้นเวลาสำหรับผู้ขายในการส่งการประเมินให้เสร็จสมบูรณ์ (สตริง enum, ไม่บังคับ)
  • noVendorResponseAction: การดำเนินการเมื่อผู้ขายไม่ตอบสนอง (สตริง enum, ไม่บังคับ)
  • aiProcessingOnly: ว่าจะประมวลผลโดยใช้ AI เท่านั้นโดยไม่มีการตรวจสอบโดยมนุษย์หรือไม่ (บูลีน, ไม่บังคับ)
  • requestedAuditTypes: ประเภทของการตรวจสอบที่ร้องขอสำหรับการประเมินนี้ (สตริง[], ไม่บังคับ)

ส่งคืนรายละเอียดการประเมินที่สร้างขึ้น

update_assessment_expiration_date - อัปเดตกำหนดเวลาที่ผู้ขายต้องส่งการตอบสนองการประเมิน

  • id: ID การประเมิน (ตัวเลข, จำเป็น)
  • expirationDate: วันที่/เวลาหมดอายุใหม่, ISO-8601 พร้อมออฟเซ็ต; ต้องเป็นในอนาคต (สตริง, จำเป็น)

ส่งคืนข้อความยืนยัน

update_assessment_followup - อัปเดตการกำหนดค่าการติดตามผลสำหรับการประเมิน

  • id: ID การประเมิน (ตัวเลข, จำเป็น)
  • followupType: ประเภทการติดตามผล (สตริง enum, จำเป็น)
  • followupRiskThreshold: เกณฑ์ความเสี่ยงที่หรือสูงกว่าที่ควรเรียกการประเมินติดตามผล (สตริง enum, ไม่บังคับ)
  • followupTimeline: เส้นเวลาการติดตามผล (สตริง enum, ไม่บังคับ)

ส่งคืนข้อความยืนยัน

บันทึกการตรวจสอบ

get_user_audit_log_events - รับเหตุการณ์บันทึกการตรวจสอบที่กำหนดขอบเขตผู้ใช้สำหรับองค์กรของคุณ

  • start: วันที่/เวลาเริ่มต้นของคิวรี, ISO-8601 พร้อมออฟเซ็ต (สตริง, จำเป็น)
  • end: วันที่/เวลาสิ้นสุดของคิวรี, ISO-8601 พร้อมออฟเซ็ต (สตริง, จำเป็น)
  • eventTypes: ชุดประเภทเหตุการณ์ที่ไม่บังคับเพื่อกรอง (เช่น USER_LOGGED_IN); เว้นว่างไว้สำหรับทั้งหมด (สตริง[], ไม่บังคับ)

ส่งคืนรายการเหตุการณ์บันทึกการตรวจสอบของผู้ใช้ จำกัด 500 ระเบียน

get_audit_log_events - รับเหตุการณ์บันทึกการตรวจสอบที่กรองแล้ว (เหตุการณ์ผู้ใช้, องค์กร, การประเมิน และความสัมพันธ์)

  • start: วันที่/เวลาเริ่มต้นของคิวรี, ISO-8601 พร้อมออฟเซ็ต (สตริง, จำเป็น)
  • end: วันที่/เวลาสิ้นสุดของคิวรี, ISO-8601 พร้อมออฟเซ็ต (สตริง, จำเป็น)
  • eventTypes: ชุดประเภทเหตุการณ์ที่ไม่บังคับเพื่อกรอง (เช่น ASSESSMENT_COMPLETED, RELATIONSHIP_CREATED); เว้นว่างไว้สำหรับทั้งหมด (สตริง[], ไม่บังคับ)

ส่งคืนระเบียนเหตุการณ์บันทึกการตรวจสอบแบบพหุสัณฐาน แต่ละรายการมีอย่างน้อย auditEventType และ dateTime

กรณีธุรกิจ

get_all_business_cases - รับกรณีธุรกิจทั้งหมดที่มีสำหรับองค์กรของคุณ

ไม่จำเป็นต้องมีพารามิเตอร์

ส่งคืนรายการกรณีธุรกิจทั้งหมดที่มีสำหรับองค์กรของคุณ

ประเภทข้อมูล

get_all_datatypes - รับประเภทข้อมูลทั้งหมดที่มีสำหรับองค์กรของคุณ

ไม่จำเป็นต้องมีพารามิเตอร์

ส่งคืนรายการประเภทข้อมูลทั้งหมดที่มีสำหรับองค์กรของคุณ

ไดเรกทอรีผู้ขาย

search_vendor_directory - ค้นหาผู้ขายในไดเรกทอรีผู้ขาย VISO TRUST ตาม URL หรือโดเมน

  • urlOrDomain: URL หรือชื่อโดเมนที่จะค้นหา เช่น example.com (สตริง, จำเป็น)

ส่งคืนข้อมูลเมตาพื้นฐานของผู้ขาย (ชื่อ, โฮมเพจ, คำอธิบาย, favicon, โดเมนที่รู้จัก)

ความสัมพันธ์

get_all_relationships - รับรายการความสัมพันธ์ทั้งหมดและรายละเอียดการประเมิน

ไม่จำเป็นต้องมีพารามิเตอร์

ส่งคืนข้อมูลเกี่ยวกับผู้ขายบุคคลที่สามรวมถึงสถานะการประเมิน ระดับความเสี่ยง และรายละเอียดการติดต่อ

get_relationship_by_id - รับความสัมพันธ์เฉพาะและรายละเอียดการประเมินตาม ID

  • id: ID ความสัมพันธ์ (ตัวเลข, จำเป็น)

ส่งคืนข้อมูลโดยละเอียดเกี่ยวกับผู้ขายบุคคลที่สามรวมถึงสถานะการประเมิน ระดับความเสี่ยง และรายละเอียดการติดต่อ

get_relationship_assessment_history - รับประวัติการประเมินสำหรับความสัมพันธ์

  • id: ID ความสัมพันธ์ (ตัวเลข, จำเป็น)

ส่งคืนรายการการประเมินที่เกี่ยวข้องกับความสัมพันธ์ที่ระบุ

create_relationship - สร้างความสัมพันธ์ใหม่กับผู้ขายบุคคลที่สาม

  • name: ชื่อของความสัมพันธ์/ผู้ขาย (สตริง, จำเป็น)
  • homepage: URL โฮมเพจของผู้ขาย (สตริง, จำเป็น)
  • businessOwnerEmail: ที่อยู่อีเมลของเจ้าของธุรกิจ (สตริง, จำเป็น)
  • businessOwnerFirstName: ชื่อจริงของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
  • businessOwnerLastName: นามสกุลของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
  • description: คำอธิบายของความสัมพันธ์/ผู้ขาย (สตริง, ไม่บังคับ)
  • contextTypes: รายการประเภทบริบททางธุรกิจสำหรับความสัมพันธ์นี้ (ออบเจกต์[], ไม่บังคับ)
  • dataTypes: รายการประเภทข้อมูลที่จัดการในความสัมพันธ์นี้ (ออบเจกต์[], ไม่บังคับ)
  • tags: รายการแท็กเพื่อจัดหมวดหมู่ความสัมพันธ์นี้ (สตริง[], ไม่บังคับ)
  • thirdPartyContact: รายละเอียดการติดต่อของตัวแทนผู้ขายบุคคลที่สาม (ออบเจกต์, ไม่บังคับ)

ส่งคืนรายละเอียดความสัมพันธ์ที่สร้างขึ้น

create_relationship_by_domain - สร้างความสัมพันธ์ใหม่โดยใช้เฉพาะโดเมนผู้ขาย

  • domain: โดเมนของผู้ขาย เช่น visotrust.com (สตริง, จำเป็น)
  • vendorName: ชื่อของผู้ขาย (สตริง, จำเป็น)
  • product: ผลิตภัณฑ์ที่นำเสนอโดยผู้ขาย (สตริง, ไม่บังคับ)
  • description: คำอธิบายของความสัมพันธ์ผู้ขาย (สตริง, ไม่บังคับ)

ส่งคืนรายละเอียดความสัมพันธ์ที่สร้างขึ้น

update_relationship - อัปเดตความสัมพันธ์ที่มีอยู่กับผู้ขายบุคคลที่สาม

  • id: ID ความสัมพันธ์ (ตัวเลข, จำเป็น)
  • name: ชื่อของความสัมพันธ์/ผู้ขาย (สตริง, จำเป็น)
  • homepage: URL โฮมเพจของผู้ขาย (สตริง, ไม่บังคับ)
  • description: คำอธิบายของความสัมพันธ์/ผู้ขาย (สตริง, ไม่บังคับ)
  • contextTypes: รายการประเภทบริบททางธุรกิจ (ออบเจกต์[], ไม่บังคับ)
  • dataTypes: รายการประเภทข้อมูลที่จัดการในความสัมพันธ์นี้ (ออบเจกต์[], ไม่บังคับ)
  • businessOwnerEmail: ที่อยู่อีเมลของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
  • businessOwnerFirstName: ชื่อจริงของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
  • businessOwnerLastName: นามสกุลของเจ้าของธุรกิจ (สตริง, ไม่บังคับ)
  • tags: รายการแท็ก (สตริง[], ไม่บังคับ)

ส่งคืนรายละเอียดความสัมพันธ์ที่อัปเดต

partially_update_relationship - อัปเดตความสัมพันธ์ที่มีอยู่บางส่วน

ยอมรับฟิลด์เดียวกันกับ update_relationship เฉพาะฟิลด์ที่ให้ไว้ในคำขอเท่านั้นที่เปลี่ยนแปลง; ฟิลด์อื่นๆ จะไม่ถูกแตะต้อง

ส่งคืนรายละเอียดความสัมพันธ์ที่อัปเดต

search_relationships - ค้นหาความสัมพันธ์ตามชื่อโดเมนหรือชื่อผู้ขาย

  • domains: รายการชื่อโดเมนที่จะค้นหา (สตริง[], จำเป็น)
  • name: ชื่อของผู้ขาย/ความสัมพันธ์ที่จะค้นหา (สตริง, จำเป็น)

ส่งคืนรายการความสัมพันธ์ที่ตรงกันพร้อมรายละเอียดการประเมิน

create_tags - สร้างแท็กใหม่สำหรับจัดหมวดหมู่ความสัมพันธ์

  • tags: รายการชื่อแท็กที่จะสร้าง (สตริง[], จำเป็น)

ส่งคืนรายการแท็กทั้งหมดรวมถึงแท็กที่สร้างขึ้นใหม่

update_third_party_contact - อัปเดตรายละเอียดการติดต่อสำหรับผู้ขายบุคคลที่สาม

  • relationshipId: ID ความสัมพันธ์ (ตัวเลข, จำเป็น)
  • email: อีเมลติดต่อ (สตริง, จำเป็น)
  • firstName: ชื่อจริงผู้ติดต่อ (สตริง, จำเป็น)
  • lastName: นามสกุลผู้ติดต่อ (สตริง, จำเป็น)

ส่งคืนรายละเอียดความสัมพันธ์ที่อัปเดต

onboard_relationship - เริ่มต้นความสัมพันธ์ พร้อมตัวเลือกสรุปการอนุมัติและการตั้งค่าการจัดการวงจรชีวิต

  • id: รหัสความสัมพันธ์ (ตัวเลข, จำเป็น)
  • approvalSummary: สรุปการอนุมัติที่บันทึกเมื่อเริ่มต้น (สตริง, ไม่บังคับ)
  • lifecycleManagementUpdateRequest: การตั้งค่าการจัดการวงจรชีวิต (อ็อบเจกต์, ไม่บังคับ)
    • artifactUpdateSettings.artifactUpdateType: ประเภทการอัปเดตอาร์ติแฟกต์ (สตริง enum)
    • recertificationSettings.recertificationType: ประเภทการรับรองใหม่ (สตริง enum)
    • recertificationSettings.recertificationDate: วันที่/เวลาของการรับรองใหม่ครั้งถัดไป, ISO-8601 พร้อม offset (สตริง)
    • recertificationSettings.reviewFrequency: THREE_YEARS, TWO_YEARS, ANNUAL, SEMIANNUAL, หรือ QUARTERLY (สตริง enum)

ส่งคืนรายละเอียดความสัมพันธ์ที่เริ่มต้นแล้ว

offboard_relationship - ยกเลิกความสัมพันธ์

  • id: รหัสความสัมพันธ์ (ตัวเลข, จำเป็น)

ส่งคืนรายละเอียดความสัมพันธ์ที่ยกเลิกแล้ว

archive_relationship - เก็บถาวรความสัมพันธ์

  • id: รหัสความสัมพันธ์ (ตัวเลข, จำเป็น)

ส่งคืนรายละเอียดความสัมพันธ์ที่เก็บถาวรแล้ว

Webhooks

get_all_webhooks - รับ webhooks ทั้งหมด

ไม่มีพารามิเตอร์ที่จำเป็น

ส่งคืนรายการการกำหนดค่า webhook ทั้งหมด

get_webhook - รับการกำหนดค่า webhook ตามรหัส

  • id: รหัส Webhook (ตัวเลข, จำเป็น)

ส่งคืนรายละเอียดของการกำหนดค่า webhook เฉพาะ

create_webhook_configuration - สร้างการกำหนดค่า webhook

  • request: พารามิเตอร์การสร้าง Webhook (อ็อบเจกต์, จำเป็น)
    • url: URL ของ Webhook (สตริง, จำเป็น)
    • secret: ข้อมูลลับของ Webhook (สตริง, จำเป็น)
    • eventTypes: ประเภทเหตุการณ์ที่จะทริกเกอร์ webhook (สตริง[], จำเป็น)
    • serviceType: ประเภทบริการสำหรับ webhook (สตริง, จำเป็น)

ส่งคืนการกำหนดค่า webhook ที่สร้างขึ้น

update_webhook_configuration - อัปเดตการกำหนดค่า webhook

  • request: พารามิเตอร์การอัปเดต Webhook (อ็อบเจกต์, จำเป็น)
    • id: รหัส Webhook (ตัวเลข, จำเป็น)
    • url: URL ของ Webhook (สตริง, ไม่บังคับ)
    • secret: ข้อมูลลับของ Webhook (สตริง, ไม่บังคับ)
    • eventTypes: ประเภทเหตุการณ์ที่จะทริกเกอร์ webhook (สตริง[], ไม่บังคับ)
    • serviceType: ประเภทบริการสำหรับ webhook (สตริง, ไม่บังคับ)

ส่งคืนการกำหนดค่า webhook ที่อัปเดตแล้ว

delete_webhook_configuration - ลบการกำหนดค่า webhook

  • id: รหัส Webhook (ตัวเลข, จำเป็น)

ลบการกำหนดค่า webhook ที่ระบุ

รายงานข่าวกรอง

create_bitsight_intelligence_report - สร้างรายงานข่าวกรอง BitSight ใหม่

  • request: พารามิเตอร์รายงาน BitSight (อ็อบเจกต์, จำเป็น)
    • vendorDomain: ชื่อโดเมนหลักของผู้ขาย (สตริง, จำเป็น)
    • reportDate: วันที่/เวลาที่สร้างรายงาน (สตริง ISO 8601, จำเป็น)
    • link: ลิงก์ไปยัง UI ของผู้ให้บริการ (สตริง, ไม่บังคับ)
    • guid: GUID ของ BitSight สำหรับเอนทิตี (สตริง, จำเป็น)
    • customId: ตัวระบุแบบกำหนดเองจาก BitSight (สตริง, ไม่บังคับ)
    • name: ชื่อที่แสดงของเอนทิตี BitSight (สตริง, ไม่บังคับ)
    • description: คำอธิบายของเอนทิตี BitSight (สตริง, ไม่บังคับ)
    • primaryDomain: โดเมนหลักสำหรับเอนทิตี BitSight (สตริง, ไม่บังคับ)
    • ratingRange: ช่วงคะแนนของ BitSight (สตริง, ไม่บังคับ)
    • ratingColor: สีคะแนนของ BitSight (สตริง, ไม่บังคับ)
    • confidence: ระดับความเชื่อมั่นของคะแนน BitSight (สตริง, ไม่บังคับ)

ส่งคืนรายงานข่าวกรองที่สร้างขึ้น

create_security_scorecard_intelligence_report - สร้างรายงานข่าวกรอง SecurityScorecard ใหม่

  • request: พารามิเตอร์รายงาน SecurityScorecard (อ็อบเจกต์, จำเป็น)
    • vendorDomain: ชื่อโดเมนหลักของผู้ขาย (สตริง, จำเป็น)
    • reportDate: วันที่/เวลาที่สร้างรายงาน (สตริง ISO 8601, จำเป็น)
    • link: ลิงก์ไปยัง UI ของผู้ให้บริการ (สตริง, ไม่บังคับ)
    • grade: เกรดตัวอักษรจาก SecurityScorecard (สตริง, จำเป็น)
    • domain: โดเมนที่เกี่ยวข้องกับเอนทิตี scorecard (สตริง, ไม่บังคับ)
    • score: คะแนนตัวเลขจาก SecurityScorecard (ตัวเลข, ไม่บังคับ)

ส่งคืนรายงานข่าวกรองที่สร้างขึ้น

create_recorded_future_intelligence_report - สร้างรายงานข่าวกรอง Recorded Future ใหม่

  • request: พารามิเตอร์รายงาน Recorded Future (อ็อบเจกต์, จำเป็น)
    • vendorDomain: ชื่อโดเมนหลักของผู้ขาย (สตริง, จำเป็น)
    • reportDate: วันที่/เวลาที่สร้างรายงาน (สตริง ISO 8601, จำเป็น)
    • entityType: ประเภทเอนทิตีของ Recorded Future เช่น Company (สตริง, จำเป็น)
    • entity: ตัวระบุเอนทิตีของ Recorded Future (สตริง, จำเป็น)
    • riskScore: คะแนนความเสี่ยงตัวเลข (ตัวเลข, จำเป็น)
    • riskLevel: ป้ายระดับความเสี่ยง เช่น Critical/High/Medium/Low (สตริง, จำเป็น)
    • link: ลิงก์ไปยังรายงานใน UI ของผู้ให้บริการ (สตริง, ไม่บังคับ)
    • firstSeen: วันที่พบเอนทิตีครั้งแรก, ISO 8601 (สตริง, ไม่บังคับ)
    • lastSeen: วันที่พบเอนทิตีล่าสุด, ISO 8601 (สตริง, ไม่บังคับ)
    • triggeredRuleCount: จำนวนกฎของ Recorded Future ที่ถูกทริกเกอร์ (ตัวเลข, ไม่บังคับ)
    • maxRuleCount: จำนวนกฎสูงสุดของ Recorded Future ที่ประเมิน (ตัวเลข, ไม่บังคับ)
    • summary: ข้อความสรุปจาก Recorded Future (สตริง, ไม่บังคับ)
    • criticalityLabel: ป้ายความสำคัญของ Recorded Future สำหรับเอนทิตี (สตริง, ไม่บังคับ)

ส่งคืนรายงานข่าวกรองที่สร้างขึ้น

get_intelligence_reports_by_vendor - รับรายงานข่าวกรองทั้งหมดสำหรับผู้ขาย

  • vendorDomain: ชื่อโดเมนหลักของผู้ขาย (สตริง, จำเป็น)

ส่งคืนรายการรายงานข่าวกรองสำหรับผู้ขายที่ระบุ

get_latest_intelligence_report - รับรายงานข่าวกรองล่าสุดสำหรับผู้ขายจากแหล่งที่มาเฉพาะ

  • vendorDomain: ชื่อโดเมนหลักของผู้ขาย (สตริง, จำเป็น)
  • source: ผู้ให้บริการข่าวกรอง (สตริง enum: BITSIGHT, SECURITY_SCORECARD, หรือ RECORDED_FUTURE, จำเป็น)

ส่งคืนรายงานข่าวกรองล่าสุดสำหรับผู้ขายและแหล่งที่มาที่ระบุ

ผู้ใช้

get_all_users - รับผู้ใช้ทั้งหมดในองค์กรของคุณ

  • page: หน้าผลลัพธ์ที่จะดึงข้อมูล (ตัวเลข, ไม่บังคับ; ค่าเริ่มต้น 0)
  • size: จำนวนระเบียนต่อหน้า (ตัวเลข, ไม่บังคับ; ค่าเริ่มต้น 20)
  • sort: เกณฑ์การเรียงลำดับในรูปแบบ: property(,asc|desc) (สตริง, ไม่บังคับ)

ส่งคืนรายการผู้ใช้แบบแบ่งหน้า

get_user_by_email - รับผู้ใช้ตามอีเมล

  • email: ที่อยู่อีเมลของผู้ใช้ (สตริง, จำเป็น)

ส่งคืนรายละเอียดผู้ใช้

create_user - สร้างผู้ใช้ใหม่

  • request: พารามิเตอร์การสร้างผู้ใช้ (อ็อบเจกต์, จำเป็น)
    • email: ที่อยู่อีเมลของผู้ใช้ใหม่ (สตริง, จำเป็น)
    • firstName: ชื่อจริงของผู้ใช้ใหม่ (สตริง, จำเป็น)
    • lastName: นามสกุลของผู้ใช้ใหม่ (สตริง, จำเป็น)

ส่งคืนผู้ใช้ที่สร้างขึ้น

การจัดรูปแบบโค้ด

โปรเจกต์นี้ใช้ Spotless กับ Google Java Format สำหรับการจัดรูปแบบโค้ด มีการตั้งค่า pre-commit hook โดยอัตโนมัติเพื่อให้แน่ใจว่าสไตล์โค้ดสอดคล้องกัน

การตั้งค่า

หลังจากโคลนที่เก็บโค้ดแล้ว pre-commit hook จะถูกตั้งค่าโดยอัตโนมัติเมื่อคุณรันคำสั่ง Gradle ใดๆ

การจัดรูปแบบด้วยตนเอง

เพื่อจัดรูปแบบไฟล์ทั้งหมดด้วยตนเอง:

./gradlew spotlessApply

เพื่อตรวจสอบว่าไฟล์ถูกจัดรูปแบบอย่างถูกต้องหรือไม่:

./gradlew spotlessCheck

หาก pre-commit hook ปฏิเสธการคอมมิตของคุณเนื่องจากปัญหาการจัดรูปแบบ เพียงรัน ./gradlew spotlessApply เพื่อแก้ไขการจัดรูปแบบแล้วลองคอมมิตอีกครั้ง

ใบอนุญาต

โปรเจกต์นี้ได้รับอนุญาตภายใต้ MIT License - ดูรายละเอียดในไฟล์ LICENSE