رفتن به محتوا
ورود
مرجع API
منبع

AI Rule

Which new incidents or alerts OneUptime AI investigates and fixes, and how. A rule investigates what it matches (right away, or only if still open after a wait), and fixes it or not, asking first or not. A fix may run the project's runbooks (only the rule's, when it names some), Bash commands on a Runner the rule picks, the tools of the project's external MCP servers (only the rule's, when it names some), and open fix and telemetry pull requests in the project's code repositories (only the rule's, when it names some). With no rule, OneUptime AI investigates every one, and fixes every one while automatic fixing is on. These were auto remediation rules, and investigation rules are AI rules now too.

مدل AI Rule

ویژگی‌ها

  • نام
    _id
    نوع
    Object ID
    توضیحات

    ID of this object

  • نام
    createdAt
    نوع
    Date
    توضیحات

    Date and Time when the object was created.

  • نام
    updatedAt
    نوع
    Date
    توضیحات

    Date and Time when the object was updated.

  • نام
    criteria
    نوع
    JSON
    توضیحات

    Versioned conditions that determine whether this rule matches a resource.

  • نام
    project
    نوع
    Project
    توضیحات

    Relation to Project Resource in which this object belongs

  • نام
    projectId
    نوع
    Object ID الزامی
    توضیحات

    ID of your OneUptime Project in which this object belongs

  • نام
    name
    نوع
    Text الزامی
    توضیحات

    Name of this AI rule.

  • نام
    description
    نوع
    Long Text
    توضیحات

    Description of this AI rule.

  • نام
    isEnabled
    نوع
    Boolean الزامی
    توضیحات

    Whether this rule is enabled.

  • نام
    triggerEntityType
    نوع
    Text الزامی
    توضیحات

    Which kind of new signal this rule decides about: Incident or Alert.

  • نام
    investigates
    نوع
    Boolean الزامی
    توضیحات

    Whether OneUptime AI investigates the incidents or alerts this rule matches. With enabled rules that investigate, only their matches are investigated. Off, the rule only fixes, and does not change which incidents are investigated. The dashboard turns it on for every rule; left out of an API write, it is off.

  • نام
    onlyIfOpenAfterMinutes
    نوع
    Number
    توضیحات

    Investigate only incidents or alerts still open this many minutes after they were created: OneUptime AI waits that long, then investigates if it is still open. Leave empty to investigate right away. When several rules match, the shortest wait decides. At most 1440 minutes (a day).

  • نام
    fixes
    نوع
    Boolean الزامی
    توضیحات

    Whether OneUptime AI fixes the incidents or alerts this rule matches, the way its Execution Mode says. Off, the rule only investigates them. With enabled rules, an incident is fixed only when a rule that fixes matches it. On by default.

  • نام
    executionMode
    نوع
    Text الزامی
    توضیحات

    How a rule that fixes asks. Suggest asks before fixing: every fix the rule starts waits for one-click human approval. FullAuto fixes without asking: OneUptime AI fixes on its own where the cluster's or resource's AI agent page allows, a runbook it picks from the ones the rule names starts right away (one it picks from all of the project's runbooks still waits for approval), a change through an MCP server the rule names is made right away (through any of the project's MCP servers, it still waits for approval), and a rule that runs its runbooks every time starts them immediately.

  • نام
    remediationAction
    نوع
    Text الزامی
    توضیحات

    OneUptimeAI (the default): OneUptime AI fixes the matched incident or alert - on the Kubernetes clusters and infrastructure it is linked to, the way each one's AI agent page allows, with the project's runbooks (only the rule's Runbooks when it names some) and with commands on the rule's Runner when it picks one. Runbooks: the rule starts every one of its Runbooks for every match, without OneUptime AI deciding. Whether a person approves first is the rule's Execution Mode.

  • نام
    aiSelectsRunbook
    نوع
    Boolean الزامی
    توضیحات

    Kept for rules saved before rules were simplified: an AI planning run reads the incident/alert context and picks the most applicable runbook (from the attached candidates, or all enabled runbooks when none are attached), always proposing it for approval, and the rule does nothing else. Every OneUptime AI rule now lets AI pick a runbook on its own, so new rules leave this off.

  • نام
    aiComposesCommands
    نوع
    Boolean الزامی
    توضیحات

    Kept for rules saved before rules were simplified: the AI investigates the incident/alert and composes Bash commands for the rule's Runner and Command Runners, and the rule does nothing else. Suggest mode proposes a command plan for one-click approval; FullAuto mode may execute commands inline, but only ones matching the command allowlist. A OneUptime AI rule now composes commands on its Runner when it picks one, so new rules leave this off.

  • نام
    commandAllowlist
    نوع
    JSON
    توضیحات

    Glob patterns for commands the AI may execute WITHOUT human approval under FullAuto (for example: systemctl restart *). Commands that do not match are proposed for one-click approval instead. Destructive commands are always refused by the built-in policy.

  • نام
    commandRunners
    نوع
    Runner
    توضیحات

    Kept for rules saved before rules were simplified: more Runners the AI may target with composed commands, besides the rule's Runner. A Runner runs a rule's commands only when the rule names it.

  • نام
    monitors
    نوع
    Monitor
    توضیحات

    Only trigger for incidents/alerts from these monitors. Leave empty to match any monitor.

  • نام
    incidentSeverities
    نوع
    Incident Severity
    توضیحات

    Only trigger for incidents with these severities (incident rules only). Leave empty to match any severity.

  • نام
    alertSeverities
    نوع
    Alert Severity
    توضیحات

    Only trigger for alerts with these severities (alert rules only). Leave empty to match any severity.

  • نام
    labels
    نوع
    Label
    توضیحات

    Only trigger for incidents/alerts that carry at least one of these labels. Leave empty to match any label.

  • نام
    monitorLabels
    نوع
    Label
    توضیحات

    Only trigger when the incident/alert's monitor carries at least one of these labels — the natural way to scope rules to environments (e.g. staging vs production). Leave empty to match any monitor label.

  • نام
    titlePattern
    نوع
    Long Text
    توضیحات

    Case-insensitive regex matched against the entity's title. Leave empty to match any title.

  • نام
    descriptionPattern
    نوع
    Long Text
    توضیحات

    Case-insensitive regex matched against the entity's description. Leave empty to match any description.

  • نام
    runbooks
    نوع
    Runbook
    توضیحات

    The runbooks OneUptime AI may pick and run for this rule. Leave empty to let it pick any of the project's runbooks. A rule whose Fix With is Runbooks starts every one of them for every match instead.

  • نام
    externalMcpServers
    نوع
    External MCP Server
    توضیحات

    The external MCP servers OneUptime AI may use while it investigates and fixes what this rule matches (an investigation uses only their tools that read). Leave empty to let it use all of the project's MCP servers; changes through them are then always proposed for approval first.

  • نام
    runner
    نوع
    Runner
    توضیحات

    The Runner OneUptime AI runs this rule's Bash commands on, inside your network. Empty means none: OneUptime AI runs no commands of its own for the rule. Commands on the affected Kubernetes cluster or host always go through its AI agent.

  • نام
    runnerId
    نوع
    Object ID
    توضیحات

    ID of the Runner OneUptime AI runs this rule's Bash commands on: one of the project's own Runners. Empty means none: OneUptime AI runs no commands of its own for the rule. Commands on the affected Kubernetes cluster or host always go through its AI agent.

  • نام
    codeRepositories
    نوع
    Code Repository
    توضیحات

    The code repositories OneUptime AI may read while it investigates and fixes what this rule matches, and open the rule's pull requests in. Leave empty to let it use every repository the project has connected.

  • نام
    llmProvider
    نوع
    LLM Provider
    توضیحات

    The LLM provider OneUptime AI uses for everything this rule starts: one of the project's providers or a global one. Empty: the project's default provider, else the global one.

  • نام
    llmProviderId
    نوع
    Object ID
    توضیحات

    ID of the LLM provider OneUptime AI uses for everything this rule starts. Empty: the project's default provider, else the global one.

  • نام
    openCodeFixPullRequests
    نوع
    Boolean الزامی
    توضیحات

    When an investigation of an incident or alert this rule matches finds the cause in your code, OneUptime AI opens a pull request with the fix, for review. Nothing is merged. Acts only while fixing new incidents (or alerts) automatically is on. On by default.

  • نام
    openTelemetryPullRequests
    نوع
    Boolean الزامی
    توضیحات

    When missing logs, traces or metrics stop an investigation of an incident or alert this rule matches, OneUptime AI opens a pull request that adds them, for review. Nothing is merged. Acts only while fixing new incidents (or alerts) automatically is on. On by default.

  • نام
    verificationWindowMinutes
    نوع
    Number
    توضیحات

    How long after the runbook starts the subject's monitors get to recover before verification fails. Defaults to 15 minutes.

  • نام
    autoResolveOnVerifiedRecovery
    نوع
    Boolean الزامی
    توضیحات

    When verification confirms the monitors recovered inside the window, automatically resolve the incident/alert. Off by default — the timeline note is posted either way.

  • نام
    createdByUser
    نوع
    User
    توضیحات

    Relation to User who created this object (if this object was created by a User)

  • نام
    createdByUserId
    نوع
    Object ID
    توضیحات

    User ID who created this object.

GET یا POST
/api/auto-remediation-rule/get-list

فهرست

این نقطه پایانی به شما امکان می‌دهد فهرست صفحه‌بندی‌شده‌ای از همه AI Rule خود را دریافت کنید. به‌صورت پیش‌فرض حداکثر ده AI Rule در هر صفحه نمایش داده می‌شود.

پارامترهای اختیاری کوئری

  • Limit
    limit
    نوع
    number
    توضیحات
    تعداد اشیایی که باید دریافت شوند. به‌صورت پیش‌فرض ۱۰ است و می‌توانید آن را تا ۱۰۰ افزایش دهید
  • Skip
    skip
    نوع
    number
    توضیحات
    تعداد اشیایی که باید رد شوند. در صفحه‌بندی مفید است

بدنه اختیاری درخواست

درخواست فهرست

POST
/api/auto-remediation-rule/get-list?skip=0&limit=10
هدرها
Content-Type: application/json
ApiKey: YOUR_API_KEY
بدنه
{
  "select": {
    "fixes": true,
    "investigates": true,
    "openCodeFixPullRequests": true,
    "openTelemetryPullRequests": true,
    "onlyIfOpenAfterMinutes": true
  },
  "query": {
    "executionMode": "Example execution mode"
  },
  "sort": {
    "createdAt": -1
  }
}

پاسخ

{
    "count": 10,
    "limit": 10,
    "skip": 0,
    "data": [
        {
            "_id": "bd9fef29-fb43-46f2-8a01-c5180cbaf10a",
            "fixes": true,
            "investigates": true,
            "openCodeFixPullRequests": true,
            "openTelemetryPullRequests": true,
            "onlyIfOpenAfterMinutes": 10
        },
        {
            "_id": "c8ac2451-64c8-4a16-98af-188c0b97afcc",
            "fixes": true,
            "investigates": true,
            "openCodeFixPullRequests": true,
            "openTelemetryPullRequests": true,
            "onlyIfOpenAfterMinutes": 10
        },
        {
            "_id": "409445ca-3c5f-4df0-af4f-1f94b8db22d7",
            "fixes": true,
            "investigates": true,
            "openCodeFixPullRequests": true,
            "openTelemetryPullRequests": true,
            "onlyIfOpenAfterMinutes": 10
        }
    ]
}
GET یا POST
/api/auto-remediation-rule/:id/get-item

دریافت مورد با شناسه

این نقطه پایانی به شما امکان می‌دهد AI Rule را با شناسه دریافت کنید.

پارامترهای الزامی کوئری

  • ID
    id
    نوع
    text
    توضیحات
    شناسه شیء

بدنه اختیاری درخواست

درخواست دریافت مورد

POST
/api/auto-remediation-rule/:id/get-item
هدرها
Content-Type: application/json
ApiKey: YOUR_API_KEY
بدنه
{
  "select": {
    "fixes": true,
    "investigates": true,
    "openCodeFixPullRequests": true,
    "openTelemetryPullRequests": true,
    "onlyIfOpenAfterMinutes": true
  }
}

پاسخ

{
    "_id": "bd9fef29-fb43-46f2-8a01-c5180cbaf10a",
    "fixes": true,
    "investigates": true,
    "openCodeFixPullRequests": true,
    "openTelemetryPullRequests": true,
    "onlyIfOpenAfterMinutes": 10
}
POST
/api/auto-remediation-rule/count

شمارش

این نقطه پایانی به شما امکان می‌دهد تعداد همه AI Rule خود را دریافت کنید.

بدنه اختیاری درخواست

درخواست شمارش

POST
/api/auto-remediation-rule/count
هدرها
Content-Type: application/json
ApiKey: YOUR_API_KEY
بدنه
{
  "query": {
    "executionMode": "Example execution mode"
  }
}

پاسخ

{
    "count": 107
}
POST
/api/auto-remediation-rule

ساخت AI Rule

این نقطه پایانی به شما امکان می‌دهد شیء جدیدی بسازید.

بدنه درخواست

  • Data
    data
    نوع
    JSON
    توضیحات
    شیء موردنظر برای ساخت به‌صورت JSON

درخواست ساخت

POST
/api/auto-remediation-rule
هدرها
Content-Type: application/json
ApiKey: YOUR_API_KEY
بدنه
{
  "data": {
    "fixes": true,
    "investigates": true,
    "openCodeFixPullRequests": true,
    "openTelemetryPullRequests": true,
    "onlyIfOpenAfterMinutes": 10
  }
}

پاسخ

{
    "_id": "bd9fef29-fb43-46f2-8a01-c5180cbaf10a",
    "fixes": true,
    "investigates": true,
    "openCodeFixPullRequests": true,
    "openTelemetryPullRequests": true,
    "onlyIfOpenAfterMinutes": 10
}
PUT
/api/auto-remediation-rule/:id

به‌روزرسانی با شناسه

این نقطه پایانی به شما امکان می‌دهد شیء را با شناسه‌اش به‌روزرسانی کنید.

بدنه درخواست

  • Data
    data
    نوع
    JSON
    توضیحات
    شیء موردنظر برای به‌روزرسانی به‌صورت JSON

روش‌های جایگزین

برای کلاینت‌هایی که از درخواست PUT پشتیبانی نمی‌کنند، می‌توانید با همان هدرها و بدنه درخواست از POST یا GET استفاده کنید:

POST /api/auto-remediation-rule/:id/update-item

درخواست به‌روزرسانی

PUT
/api/auto-remediation-rule/:id
هدرها
Content-Type: application/json
ApiKey: YOUR_API_KEY
بدنه
{
  "data": {
    "fixes": true,
    "investigates": true,
    "openCodeFixPullRequests": true
  }
}

پاسخ

{}
DELETE
/api/auto-remediation-rule/:id

حذف با شناسه

این نقطه پایانی به شما امکان می‌دهد شیء را با شناسه‌اش حذف کنید.

روش‌های جایگزین

برای کلاینت‌هایی که از درخواست DELETE پشتیبانی نمی‌کنند، می‌توانید با همان هدرها و بدنه درخواست از POST یا GET استفاده کنید:

POST /api/auto-remediation-rule/:id/delete-item

درخواست حذف

DELETE
/api/auto-remediation-rule/:id
هدرها
Content-Type: application/json
ApiKey: YOUR_API_KEY

پاسخ

{}

دسترسی‌ها

توکن API شما برای ساخت، به‌روزرسانی، خواندن یا حذف این منبع به دسترسی نیاز دارد. اگر اجازه ارسال یک درخواست را نداشته باشید، وضعیت 4xx در پاسخ فرستاده می‌شود.

دسترسی‌های خواندن

برای خواندن AI Rule لازم است

  • ProjectOwner
    Project Owner
    Owner of this project. Does everything Project Admin does, and also manages billing and payment methods, sets up SCIM, and can delete the project.
  • ProjectAdmin
    Project Admin
    Admin of this project. Creates, changes and deletes everything in it, including team members and their permissions, API keys, labels, SSO, rules and custom fields, and reads the audit log. Cannot manage billing, set up SCIM or delete the project.
  • ProjectMember
    Project Member
    Member of this project. Creates, changes and deletes monitors, incidents, alerts, status pages, on-call policies, scheduled maintenance, services and infrastructure, and runs runbooks. Project settings take Project Admin: team members and permissions, API keys, labels, SSO, rules, custom fields, states, secrets, dashboards, SLOs, and changing workflows and runbooks. Does not see API keys, the audit log, invoices, secrets, session replays or security data.
  • Viewer
    Viewer
    Reads the project's resources and changes nothing. Does not see API keys, the audit log, invoices, secrets, session replays, security data, or AI conversations, insights and remediation suggestions.
  • ReadAutoRemediationRule
    Read AI Rule
    This permission can read AI Rules in this project.

دسترسی‌های ساخت

برای ساخت AI Rule لازم است

  • ProjectOwner
    Project Owner
    Owner of this project. Does everything Project Admin does, and also manages billing and payment methods, sets up SCIM, and can delete the project.
  • ProjectAdmin
    Project Admin
    Admin of this project. Creates, changes and deletes everything in it, including team members and their permissions, API keys, labels, SSO, rules and custom fields, and reads the audit log. Cannot manage billing, set up SCIM or delete the project.
  • CreateAutoRemediationRule
    Create AI Rule
    This permission can create AI Rules in this project: which incidents and alerts OneUptime AI investigates and fixes.

دسترسی‌های به‌روزرسانی

برای به‌روزرسانی AI Rule لازم است

  • ProjectOwner
    Project Owner
    Owner of this project. Does everything Project Admin does, and also manages billing and payment methods, sets up SCIM, and can delete the project.
  • ProjectAdmin
    Project Admin
    Admin of this project. Creates, changes and deletes everything in it, including team members and their permissions, API keys, labels, SSO, rules and custom fields, and reads the audit log. Cannot manage billing, set up SCIM or delete the project.
  • EditAutoRemediationRule
    Edit AI Rule
    This permission can edit AI Rules in this project.

دسترسی‌های حذف

برای حذف AI Rule لازم است

  • ProjectOwner
    Project Owner
    Owner of this project. Does everything Project Admin does, and also manages billing and payment methods, sets up SCIM, and can delete the project.
  • ProjectAdmin
    Project Admin
    Admin of this project. Creates, changes and deletes everything in it, including team members and their permissions, API keys, labels, SSO, rules and custom fields, and reads the audit log. Cannot manage billing, set up SCIM or delete the project.
  • DeleteAutoRemediationRule
    Delete AI Rule
    This permission can delete AI Rules in this project.