Haga referencia a las salidas de pasos anteriores usando la sintaxis de plantilla para encadenar acciones y construir automatizaciones complejas.
Requisitos:
- Cuenta de New Relic con los permisos apropiados
- Espacio de trabajo de Slack con los permisos apropiados
- Token del bot de Slack configurado como secreto en la automatización del flujo de trabajo
- Acceso a los canales de Slack donde se enviarán los mensajes
Transmisión de datos básicos
Consultar los problemas de alerta de New Relic y enviar notificaciones a Slack para cada problema activo.
Lo que hace este flujo de trabajo:
- Ejecutar la consulta de NerdGraph para recuperar los problemas de alerta activos
- Iterar a través de cada problema de alerta
- Enviar notificación de Slack para cada problema con detalles del problema
name: alertSlack description: "query Alert Issues and send notifications to Slack"
workflowInputs: accountId: type: Int
steps: - name: getAlert type: action action: newrelic.nerdgraph.execute version: 1 inputs: graphql: | query GetAlertIssues($accountId: Int!) { actor { account(id: $accountId) { aiIssues { issues(filter: {states: ACTIVATED}) { issues { issueId priority state title } } } } } } variables: accountId: ${{ .workflowInputs.accountId }}
- name: loopStep type: loop for: in: ${{ .steps.getAlert.outputs.data.actor.account.aiIssues.issues.issues }} steps: - name: sendToSlack type: action action: slack.chat.postMessage version: 1 inputs: token: ${{ :secrets:your_slack_token }} channel: incident-channel text: > issueId: ${{ .steps.loopStep.loop.element.issueId }} priority: ${{ .steps.loopStep.loop.element.priority }} state: ${{ .steps.loopStep.loop.element.state }} title: ${{ .steps.loopStep.loop.element.title | tostring }}Acciones clave: newrelic.nerdgraph.execute, slack.chat.postMessage
Que sigue
- Bucles: iterar a través de colecciones
- Lógica condicional: Usar declaraciones switch