注意
群组和项目是同义术语。 您的 {PROJECT-ID} 与您的群组 ID(group ID)相同。对于现有群组,您的群组/项目 ID 保持不变。当引用说明时,此页面使用更为人熟知的术语“群组”。终结点保持不变,如文档中所述。
基本 URL: https://cloud.mongodb.com/api/public/v1.0
使用此终结点向项目添加新的第三方服务集成配置。每个项目的每个 {INTEGRATION-TYPE} 只能有一个配置。如果指定集成类型的配置已存在,则请求失败。要替换现有配置,请使用更新配置终结点。
语法
POST /groups/{GROUP-ID}/integrations/{INTEGRATION-TYPE}请求路径参数
Parameter | 必要性 | 说明 |
|---|---|---|
| 必需 | 项目标识符。 |
| 必需 | 第三方服务标识符。 接受的值为:
|
请求查询参数
名称 | 类型 | 必要性 | 说明 | 默认 |
|---|---|---|---|---|
pageNum | 数字 | Optional | 从一开始的整数,用于返回结果的一部分。 |
|
itemsPerPage | 数字 | Optional | 每页要返回的项目数,最多 500 个。 |
|
pretty | 布尔 | Optional |
| |
envelope | 布尔 | Optional | 指示是否将响应包装在信封中的标志。 某些 API 客户端无法访问 HTTP 响应标头或状态代码。要修复此问题,在查询中设置 对于返回结果列表的端点, |
|
backupJobsEnabledOnly | 布尔 | Optional | 指示是否从响应中排除未启用备份数据库的守护进程的标志。 将其设置为 |
|
请求正文参数
请求正文应为单个集成视图(例如 JSON 配置对象),用于单个第三方服务以添加到项目。始终包含一个 type 属性,其值等于第三方服务 INTEGRATION_TYPE 。
PagerDuty
配置 PagerDuty 集成时,必须提供以下字段:
属性 | 说明 |
|---|---|
|
|
| 您的服务密钥。 所有新的 PagerDuty 密钥均使用其Events API v2。如果您有 Events API v1 密钥,则可以继续将该密钥与Cloud Manager一起使用。 创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:
|
Slack
重要提示: Slack集成现在使用 OAuth 2验证方法,并且必须通过MongoDB Atlas第三方服务集成页面从传统集成进行初始配置或更新。 很快将不再支持旧版令牌。
重新配置现有 Slack 集成时,必须提供以下字段:
属性 | 说明 |
|---|---|
|
|
| 您的 API 令牌。 创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:
|
| 你的团队名称。 |
您还可以包含以下字段:
属性 | 说明 |
|---|---|
| 要重新配置的渠道名称。 |
Opsgenie
配置 Opsgenie 集成时,必须提供以下字段:
属性 | 说明 |
|---|---|
|
|
| 您的 API 密钥。 创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:
|
| 指示要使用哪个 `API URL`, |
VictorOps
配置 VictorOps 集成时,必须提供以下字段:
属性 | 说明 |
|---|---|
|
|
| 您的 API 密钥。 创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:
|
您还可以包含以下字段:
属性 | 说明 |
|---|---|
| 路由键的可选字段。 |
Webhook 设置
配置 Webhook 设置时,必须提供以下字段:
属性 | 说明 |
|---|---|
|
|
| 您的 Webhook URL。 |
您还可以包含以下字段:
属性 | 说明 |
|---|---|
| Webhook 密钥的可选字段。 创建 Webhook 通知后,当您查看或编辑警报时, URL将被部分编辑,并且密钥将被完全编辑。 |
Microsoft Teams
配置 Microsoft Teams 集成时,必须提供以下字段:
属性 | 说明 |
|---|---|
|
|
| 您的 Microsoft 团队 传入 Webhook URL。 当您查看或编辑 Webhook 通知的警报时,URL 会显示为部分遮蔽,而密钥显示为完全遮蔽。 |
Prometheus
配置 Prometheus 集成时,必须提供以下字段:
属性 | 说明 |
|---|---|
|
|
| 您的 Prometheus 用户名。 |
| 您的 Prometheus 密码。 |
| Prometheus 实例将连接的 IP 地址和端口。 |
| 指示使用哪种服务发现方法,为 |
| 为请求配置的 Prometheus 协议模式,可以是 |
| 您的集群是否启用了 Prometheus。 |
您还可以包含以下字段:
属性 | 说明 |
|---|---|
| PEM 文件密码的可选字段。 |
| PEM 文件绝对路径的可选字段。 |
响应元素
响应包括一个results数组(将项目的所有第三方集成配置列为对象)以及与项目集成的服务的totalCount 。
每个第三方集成配置对象都包含一个等于其自身集成类型的type属性(对于 PagerDuty 服务为"type": "PAGER_DUTY" )。 此外,每个第三方服务配置对象都提供特定于该服务的详细信息。 下面列出了为每个第三方服务配置对象返回的属性:
PagerDuty
返回的 PagerDuty 集成配置对象包含以下字段:
属性 | 说明 |
|---|---|
|
|
| 您的服务密钥。 创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:
|
Slack
返回的 Slack 集成配置对象包含以下字段:
属性 | 说明 |
|---|---|
|
|
| 您的 API 令牌。 创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:
|
| 你的团队名称。 旧版 Slack 集成中可能不存在此字段。 |
| 配置的 Slack 渠道名称。如果未设置该值,则为空字符串。 |
Opsgenie
返回的 Opsgenie 集成配置对象包含以下字段:
属性 | 说明 |
|---|---|
|
|
| 您的 API 密钥。 创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:
|
| 指示要使用哪个 `API URL`, |
VictorOps
返回的 VictorOps 集成配置对象包含以下字段:
属性 | 说明 |
|---|---|
|
|
| 您的 API 密钥。 创建需要 API 或集成密钥的第三方集成后,当您执行以下操作时,该密钥将显示为部分经过校订的:
|
配置对象还可能包含以下字段,具体取决于您的配置:
属性 | 说明 |
|---|---|
| 如果您配置了路由键,则返回一个字段。 |
Webhook 设置
返回的 Webhook 配置对象包含以下字段:
属性 | 说明 |
|---|---|
|
|
| 您的 Webhook URL。 创建 Webhook 通知后,当您查看或编辑警报时, URL将被部分编辑,并且密钥将被完全编辑。 |
配置对象还可能包含以下字段,具体取决于您的配置:
属性 | 说明 |
|---|---|
| 如果您的 Webhook 配置了密钥,则返回一个可选字段。 |
Microsoft Teams
返回的 Microsoft 团队 配置对象将包含以下字段:
属性 | 说明 |
|---|---|
|
|
| 您的 Microsoft 团队 传入 Webhook URL。 当您查看或编辑 Webhook 通知的警报时,URL 会显示为部分遮蔽,而密钥显示为完全遮蔽。 |
Prometheus
返回的 Prometheus 配置对象将包含以下字段:
属性 | 说明 |
|---|---|
|
|
| 您的 Prometheus 用户名。 |
| Prometheus 实例将连接的 IP 地址和端口。 |
| 指示使用哪种服务发现方法,为 |
| 为请求配置的 Prometheus 协议模式,可以是 |
| 您的集群是否启用了 Prometheus。 |
配置对象还可能包含以下字段,具体取决于您的配置:
属性 | 说明 |
|---|---|
| 如果您有 PEM 文件的密码,则返回一个可选字段。 |
| 如果您有 PEM 文件的绝对路径,则返回一个可选字段。 |
请求示例
以下示例将新的 Slack 集成配置添加到项目中。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --include \ --request POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/integrations/SLACK" \ --data ' { "type": "SLACK", "apiToken": "1234567890", "teamName": "My Team" }'响应示例
{ "links": [ { "href": "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/integrations/SLACK?pageNum=1&itemsPerPage=100", "rel": "self" } ], "results": [ { "serviceKey": "******7890", "type": "PAGER_DUTY" }, { "apiToken": "******7890", "channelName": "My Channel", "teamName": "My Team", "type": "SLACK" } ], "totalCount": 2}