Nota
Los términos «grupos» y «proyectos» son sinónimos. Tu {PROJECT-ID} ID de grupo es el mismo que el tuyo. Para los grupos existentes, tu ID de grupo/proyecto permanece igual. En esta página se utiliza el término «grupo», más común, para las descripciones. El punto final se mantiene como se indica en el documento.
URL base: https://cloud.mongodb.com/api/public/v1.0
Utilice este punto final para agregar una nueva configuración de integración de servicios de terceros a un proyecto. Cada proyecto admite una configuración por {INTEGRATION-TYPE}. Si ya existe una configuración para el tipo de integración especificado, la solicitud falla. Para reemplazar una configuración existente, utilice el punto final Actualizar una configuración en su lugar.
Sintaxis
POST /groups/{GROUP-ID}/integrations/{INTEGRATION-TYPE}
Parámetros de ruta de solicitud
Parameter | Necesidad | Descripción |
|---|---|---|
| Requerido | Identificador del proyecto. |
| Requerido | Identificador de servicio de terceros. Los valores aceptados son:
|
Parámetros de Solicitud Query
Nombre | Tipo | Necesidad | Descripción | predeterminado |
|---|---|---|---|---|
Num. de pág. | Número | Opcional | Entero basado en uno que devuelve una subsección de resultados. |
|
elementosPorPágina | Número | Opcional | Número de elementos a devolver por página, hasta un máximo de 500. |
|
bonito | booleano | Opcional | Indicador que señala si el cuerpo de la respuesta debe estar en formato prettyprint. |
|
envelope | booleano | Opcional | Bandera que indica si se debe o no envolver la respuesta en un sobre. Algunos clientes API no pueden acceder a los encabezados de respuesta HTTP o al código de estado. Para remediarlo, establezca Para los endpoints que devuelven una lista de resultados, el objeto |
|
backupJobsEnabledOnly | booleano | Opcional | Indicador que indica si se deben excluir los demonios que no están habilitados para hacer copias de seguridad de bases de datos de la respuesta. Establece esto en |
|
Parámetros del cuerpo de la solicitud
El cuerpo de la solicitud debe ser una única vista de integración (como un objeto de configuración JSON) para un único servicio de terceros que se agregará al proyecto. Siempre incluya una propiedad type igual a el INTEGRATION_TYPE del servicio externo.
Servicio | Opciones de configuración | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PagerDuty | Se deben proporcionar los siguientes campos al configurar una integración con PagerDuty:
| ||||||||||||||||||||||
Slack | IMPORTANTE: Las integraciones de Slack ahora utilizan el método de verificación OAuth2 y deben configurarse inicialmente, o actualizarse desde una integración heredada, a través de la página de integraciones de servicios de terceros de MongoDB Atlas. Pronto los tokens heredados dejarán de ser compatibles. Debes proporcionar los siguientes campos cuando reconfigures una integración existente de Slack:
También puede incluir los siguientes campos:
| ||||||||||||||||||||||
Opsgenie | Debes proporcionar los siguientes campos cuando configures una integración con Opsgenie:
| ||||||||||||||||||||||
VictorOps | Debe proporcionar los siguientes campos al configurar una integración de VictorOps:
También puede incluir los siguientes campos:
| ||||||||||||||||||||||
Configuración del webook | Debes proporcionar los siguientes campos cuando configures los ajustes del webhook:
También puede incluir los siguientes campos:
| ||||||||||||||||||||||
Microsoft Teams | Debe proporcionar los siguientes campos cuando configure una integración de Microsoft Teams:
| ||||||||||||||||||||||
Prometheus | Debe proporcionar los siguientes campos cuando configure una integración de Prometheus:
También puede incluir los siguientes campos:
|
Elementos de respuesta
La respuesta incluye un results arreglo que enumera todas las configuraciones de integración de terceros para el proyecto como objetos, y un totalCount de los servicios integrados con el proyecto.
Cada objeto de configuración de integración de terceros incluye una propiedad type igual a su propio tipo de integración ("type": "PAGER_DUTY" para el servicio PagerDuty). Además, cada objeto de configuración de servicio de terceros proporciona detalles específicos de ese servicio. Las siguientes listas muestran las propiedades devueltas para cada objeto de configuración de servicios de terceros:
Servicio | Resultado | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PagerDuty | Un objeto de configuración de integración de PagerDuty devuelto contiene los siguientes campos:
| ||||||||||||||||||||
Slack | Un objeto de configuración de integración de Slack devuelto contiene los siguientes campos:
| ||||||||||||||||||||
Opsgenie | Un objeto de configuración devuelto por la integración de Opsgenie contiene los siguientes campos:
| ||||||||||||||||||||
VictorOps | Un objeto de configuración de integración de VictorOps devuelto contiene los siguientes campos:
El objeto de configuración también puede contener los siguientes campos, dependiendo de tu configuración:
| ||||||||||||||||||||
Configuración del webook | Un objeto de configuración de webhook devuelto contiene los siguientes campos:
El objeto de configuración también puede contener los siguientes campos, dependiendo de tu configuración:
| ||||||||||||||||||||
Microsoft Teams | Un objeto de configuración de Microsoft Teams devuelto contendrá los siguientes campos:
| ||||||||||||||||||||
Prometheus | Un objeto de configuración de Prometheus devuelto contendrá los siguientes campos:
El objeto de configuración también puede contener los siguientes campos, dependiendo de tu configuración:
|
Solicitud de ejemplo
El siguiente ejemplo agrega una nueva configuración de integración de Slack al proyecto.
1 curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ 2 --header "Accept: application/json" \ 3 --header "Content-Type: application/json" \ 4 --include \ 5 --request POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/integrations/SLACK" \ 6 --data ' 7 { 8 "type": "SLACK", 9 "apiToken": "1234567890", 10 "teamName": "My Team" 11 }'
Respuesta de ejemplo
1 { 2 "links": [ 3 { 4 "href": "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/integrations/SLACK?pageNum=1&itemsPerPage=100", 5 "rel": "self" 6 } 7 ], 8 "results": [ 9 { 10 "serviceKey": "******7890", 11 "type": "PAGER_DUTY" 12 }, 13 { 14 "apiToken": "******7890", 15 "channelName": "My Channel", 16 "teamName": "My Team", 17 "type": "SLACK" 18 } 19 ], 20 "totalCount": 2 21 }