diff --git a/api-reference/openapi.en.json b/api-reference/openapi.en.json index 6f739801..f3eb8403 100644 --- a/api-reference/openapi.en.json +++ b/api-reference/openapi.en.json @@ -19376,6 +19376,14 @@ "$ref": "#/components/schemas/RumApplicationLinks", "description": "Optional external-link integration configuration." }, + "repositories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RumApplicationRepository" + }, + "maxItems": 10, + "description": "Source code repositories to link, in order; the first entry is the primary repository. At most 10 entries." + }, "no_geo": { "description": "Do not infer geographic location.", "type": "boolean" @@ -19522,6 +19530,14 @@ "$ref": "#/components/schemas/RumApplicationLinks", "description": "External-link integration configuration." }, + "repositories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RumApplicationRepository" + }, + "maxItems": 10, + "description": "Linked source code repositories, in order; the first entry is the primary repository. Linking grants no access by itself: AI sessions can only read repositories granted to the account's GitHub App installations." + }, "no_geo": { "description": "If `true`, geographic location is not inferred from IP.", "type": "boolean" @@ -19778,6 +19794,15 @@ "description": "External-link integration configuration. Omit to leave unchanged.", "x-flashduty-preserve-absence": true }, + "repositories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RumApplicationRepository" + }, + "maxItems": 10, + "description": "Replaces the linked source code repositories when present; an empty array removes all links, and omitting the field leaves them unchanged. At most 10 entries.", + "x-flashduty-preserve-absence": true + }, "no_geo": { "description": "When `true`, stop inferring geographic location from IP; when `false`, resume inferring it. Omit to leave unchanged.", "type": [ @@ -29091,6 +29116,29 @@ "description": "Why the recipient was skipped. Only present when `status` is `skipped`. `not_member` — not an active member of the caller's account; `no_email` — the member has no email address on file; `email_disabled` — the member's notification preferences for this kind of message exclude email; `duplicate` — this recipient already received a message from the same AI SRE session turn; `rate_limited` — this recipient has already been sent 20 emails through this endpoint within the last hour; `send_failed` — enqueueing the email failed." } } + }, + "RumApplicationRepository": { + "type": "object", + "description": "Source code repository that builds the application.", + "required": [ + "repo" + ], + "properties": { + "repo": { + "type": "string", + "description": "GitHub repository in `owner/name` form.", + "examples": [ + "acme/web-app" + ] + }, + "subdir": { + "type": "string", + "description": "Directory holding the application inside the repository, relative to the repository root. `.` is the repository root; an empty value is saved as `.`.", + "examples": [ + "apps/web" + ] + } + } } }, "securitySchemes": { diff --git a/api-reference/openapi.zh.json b/api-reference/openapi.zh.json index 401b058d..57ffc368 100644 --- a/api-reference/openapi.zh.json +++ b/api-reference/openapi.zh.json @@ -19376,6 +19376,14 @@ "$ref": "#/components/schemas/RumApplicationLinks", "description": "外部链接集成配置,可选。" }, + "repositories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RumApplicationRepository" + }, + "maxItems": 10, + "description": "要关联的代码仓库,有序;第一个为主仓库。最多 10 个。" + }, "no_geo": { "description": "不推断地理位置。", "type": "boolean" @@ -19522,6 +19530,14 @@ "$ref": "#/components/schemas/RumApplicationLinks", "description": "外部链接集成配置。" }, + "repositories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RumApplicationRepository" + }, + "maxItems": 10, + "description": "关联的代码仓库,有序;第一个为主仓库。关联本身不授予任何访问权限:AI 会话只能读取本账户 GitHub App 安装已授权的仓库。" + }, "no_geo": { "description": "为 `true` 时不推断地理位置。", "type": "boolean" @@ -19778,6 +19794,15 @@ "description": "外部链接集成配置;不传则保持不变。", "x-flashduty-preserve-absence": true }, + "repositories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RumApplicationRepository" + }, + "maxItems": 10, + "description": "传入时整体替换关联的代码仓库;传空数组表示清空,不传则保持不变。最多 10 个。", + "x-flashduty-preserve-absence": true + }, "no_geo": { "description": "为 `true` 时不再基于 IP 推断地理位置,为 `false` 时恢复推断;不传则保持不变。", "type": [ @@ -29091,6 +29116,29 @@ "description": "跳过原因,仅当 `status` 为 `skipped` 时出现。`not_member` —— 不是调用方账户的活跃成员;`no_email` —— 该成员没有邮箱地址;`email_disabled` —— 该成员针对此类消息的通知偏好中未包含邮件;`duplicate` —— 该收件人在同一个 AI SRE 会话轮次中已经收到过一次消息;`rate_limited` —— 该收件人通过该接口在过去一小时内已被发送 20 封邮件;`send_failed` —— 邮件入队失败。" } } + }, + "RumApplicationRepository": { + "type": "object", + "description": "构建该应用的代码仓库。", + "required": [ + "repo" + ], + "properties": { + "repo": { + "type": "string", + "description": "GitHub 仓库,格式为 `owner/name`。", + "examples": [ + "acme/web-app" + ] + }, + "subdir": { + "type": "string", + "description": "应用在仓库内所在的目录,相对仓库根目录。`.` 表示仓库根目录;传空值时保存为 `.`。", + "examples": [ + "apps/web" + ] + } + } } }, "securitySchemes": { diff --git a/api-reference/rum.openapi.en.json b/api-reference/rum.openapi.en.json index eca2d6ac..61dd9d3b 100644 --- a/api-reference/rum.openapi.en.json +++ b/api-reference/rum.openapi.en.json @@ -610,6 +610,14 @@ "$ref": "#/components/schemas/RumApplicationLinks", "description": "Optional external-link integration configuration." }, + "repositories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RumApplicationRepository" + }, + "maxItems": 10, + "description": "Source code repositories to link, in order; the first entry is the primary repository. At most 10 entries." + }, "no_geo": { "description": "Do not infer geographic location.", "type": "boolean" @@ -756,6 +764,14 @@ "$ref": "#/components/schemas/RumApplicationLinks", "description": "External-link integration configuration." }, + "repositories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RumApplicationRepository" + }, + "maxItems": 10, + "description": "Linked source code repositories, in order; the first entry is the primary repository. Linking grants no access by itself: AI sessions can only read repositories granted to the account's GitHub App installations." + }, "no_geo": { "description": "If `true`, geographic location is not inferred from IP.", "type": "boolean" @@ -1012,6 +1028,15 @@ "description": "External-link integration configuration. Omit to leave unchanged.", "x-flashduty-preserve-absence": true }, + "repositories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RumApplicationRepository" + }, + "maxItems": 10, + "description": "Replaces the linked source code repositories when present; an empty array removes all links, and omitting the field leaves them unchanged. At most 10 entries.", + "x-flashduty-preserve-absence": true + }, "no_geo": { "description": "When `true`, stop inferring geographic location from IP; when `false`, resume inferring it. Omit to leave unchanged.", "type": [ @@ -3938,6 +3963,29 @@ } }, "type": "object" + }, + "RumApplicationRepository": { + "type": "object", + "description": "Source code repository that builds the application.", + "required": [ + "repo" + ], + "properties": { + "repo": { + "type": "string", + "description": "GitHub repository in `owner/name` form.", + "examples": [ + "acme/web-app" + ] + }, + "subdir": { + "type": "string", + "description": "Directory holding the application inside the repository, relative to the repository root. `.` is the repository root; an empty value is saved as `.`.", + "examples": [ + "apps/web" + ] + } + } } }, "securitySchemes": { diff --git a/api-reference/rum.openapi.zh.json b/api-reference/rum.openapi.zh.json index c0362e4d..213c0676 100644 --- a/api-reference/rum.openapi.zh.json +++ b/api-reference/rum.openapi.zh.json @@ -610,6 +610,14 @@ "$ref": "#/components/schemas/RumApplicationLinks", "description": "外部链接集成配置,可选。" }, + "repositories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RumApplicationRepository" + }, + "maxItems": 10, + "description": "要关联的代码仓库,有序;第一个为主仓库。最多 10 个。" + }, "no_geo": { "description": "不推断地理位置。", "type": "boolean" @@ -756,6 +764,14 @@ "$ref": "#/components/schemas/RumApplicationLinks", "description": "外部链接集成配置。" }, + "repositories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RumApplicationRepository" + }, + "maxItems": 10, + "description": "关联的代码仓库,有序;第一个为主仓库。关联本身不授予任何访问权限:AI 会话只能读取本账户 GitHub App 安装已授权的仓库。" + }, "no_geo": { "description": "为 `true` 时不推断地理位置。", "type": "boolean" @@ -1012,6 +1028,15 @@ "description": "外部链接集成配置;不传则保持不变。", "x-flashduty-preserve-absence": true }, + "repositories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RumApplicationRepository" + }, + "maxItems": 10, + "description": "传入时整体替换关联的代码仓库;传空数组表示清空,不传则保持不变。最多 10 个。", + "x-flashduty-preserve-absence": true + }, "no_geo": { "description": "为 `true` 时不再基于 IP 推断地理位置,为 `false` 时恢复推断;不传则保持不变。", "type": [ @@ -3938,6 +3963,29 @@ } }, "type": "object" + }, + "RumApplicationRepository": { + "type": "object", + "description": "构建该应用的代码仓库。", + "required": [ + "repo" + ], + "properties": { + "repo": { + "type": "string", + "description": "GitHub 仓库,格式为 `owner/name`。", + "examples": [ + "acme/web-app" + ] + }, + "subdir": { + "type": "string", + "description": "应用在仓库内所在的目录,相对仓库根目录。`.` 表示仓库根目录;传空值时保存为 `.`。", + "examples": [ + "apps/web" + ] + } + } } }, "securitySchemes": {