Te ofrecemos esta traducción automática para facilitar la lectura.
En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.
Este documento hace referencia al uso de las API de Nerdgraph para la nueva plataforma de notificación utilizando destinos y mensajes de notificación. Los mensajes de notificación también se denominan canales, que son diferentes del canal de notificación legacy .
La consulta channels le permite paginar todos sus canales por cuenta. También permite algunas funciones de filtrado.
He aquí un ejemplo:
{
actor{
account(id:YOUR_ACCOUNT_ID){
aiNotifications{
channels{
entities{
id
name
}
error{
details
}
}
}
}
}
}
Para paginar a través de sus canales, debe solicitar el campo nextCursor en su consulta inicial.
Con la paginación del cursor, continúa realizando una solicitud a través del conjunto de resultados hasta que el nextCursor que se devuelve de la respuesta vuelve vacío. Esto significa que llegó al final de sus resultados.
He aquí un ejemplo:
{
actor{
account(id:YOUR_ACCOUNT_ID){
aiNotifications{
channels(cursor:""){
nextCursor
entities{
id
name
}
totalCount
}
}
}
}
}
El código anterior devuelve un conjunto de resultados como este:
La API permite consultar el canal por nombre. El filtro name devuelve coincidencias exactas y coincidencias parciales. No distingue entre mayúsculas y minúsculas. Esto solo devolverá la información de los canales que coincidan con el nombre proporcionado.
En este ejemplo, queremos buscar canales con "DevOps" en el nombre:
{
actor{
account(id:YOUR_ACCOUNT_ID){
aiNotifications{
channels(filters:{name:"DevOps"}){
entities{
id
name
}
}
}
}
}
}
La API te permite consultar por ID de canal:
{
actor{
account(id:YOUR_ACCOUNT_ID){
aiNotifications{
channels(filters:{id:YOUR_CHANNEL_ID}){
entities{
id
name
}
}
}
}
}
}
La API te permite consultar canales por ID de destino:
La API te permite realizar consultas por tipo de canal. La siguiente consulta devolverá todos los canales de correo electrónico de la cuenta elegida:
{
actor{
account(id:YOUR_ACCOUNT_ID){
aiNotifications{
channels(filters:{type:EMAIL}){
entities{
id
name
}
}
}
}
}
}
Crear un canal
Para crear un canal, se deben suministrar diferentes entradas para cada tipo de canal. Cada canal está conectado a un destino. Para obtener información sobre destinos, consulte el tutorial de NerdGraph sobre destinos.
Las mejores prácticas es usar el extremo channelSchema para ver qué campos deben enviarse bajo properties así:
{
actor{
account(id:YOUR_ACCOUNT_ID){
aiNotifications{
channelSchema(
channelType:CHANNEL_TYPE
destinationId:YOUR_DESTINATION_ID
product:YOUR_PRODUCT
constraints:[]
){
schema{
fields{
mandatory
label
key
component
}
}
result
}
}
}
}
}
Jira es un sistema de tickets configurable y, por lo tanto, no existe una forma estática de crear este canal.
Hay dos campos estáticos: project y issuetype.
Obtenga las sugerencias project y utilice uno de los valores como restricción para issuetype, como se muestra aquí:
La propiedad payload es la carga útil que se enviará en la notificación. Utiliza la sintaxis del manillar para insertar dinámicamente información de la solicitud.
El eventSource debe ser la URL completa de un origen de evento existente. El eventContent es la carga útil que se enviará en el cuerpo de la notificación, como se muestra aquí:
PagerDuty tiene dos tipos de integración, nivel de servicio y nivel de cuenta. Para obtener más información, consulte los documentos de integración de PagerDuty.
Cuando actualiza un canal, tenga en cuenta que no necesita proporcionar todos los atributos del canal. Por ejemplo, si solo desea actualizar el nombre, ese es el único atributo que necesita actualizar, como se muestra aquí:
mutation{
aiNotificationsUpdateChannel(
accountId:YOUR_ACCOUNT_ID
channelId:YOUR_CHANNEL_ID
channel:{name:"Updated channel Name"}
){
channel{
id
name
}
}
}
Probando un canal
Puede probar canales a través de la API NerdGraph. Esto se puede hacer antes o después de crear el canal.