템플릿 구문을 사용하여 이전 단계의 출력을 참조하여 작업을 변경하고 복잡한 자동화를 구축합니다.
요구 사항:
- 적절한 권한을 가진 뉴렐릭 계정
- 적절한 권한이 있는 슬랙 워크스페이스
- 흐름 자동화에서 비밀로 구성된 Slack 봇의 의미
- 메시지가 전송될 슬랙 채널에 대한 접근 권한
기본 데이터 전달
쿼리 공지는 뉴렐릭에서 발행하고 각 활성 문제에 대해 공지를 Slack으로 보냅니다.
이 흐름이 하는 일은:
- NerdGraph 쿼리를 실행하여 활성 공지 문제 검색
- 각 문제들을 순차적으로 처리합니다.
- 각 문제에 대한 Slack 알림을 문제 세부 정보와 함께 보내세요.
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 }}주요 작업: newrelic.nerdgraph.execute, slack.chat.postMessage