Para alertas New Relic , você pode criar e gerenciar fluxo de trabalho usando nossa API NerdGraph.
Listar e filtrar fluxo de trabalho
A consulta workflows
permite paginar todo o seu fluxo de trabalho por conta. Também permite algumas funcionalidades de filtragem no fluxo de trabalho da conta. Aqui estão alguns exemplos de casos de uso:
Crie um fluxo de trabalho
Para criar um fluxo de trabalho você deve primeiro criar destinos e canais.
Importante
Um ID de canal é exclusivo e, portanto, não pode ser usado em vários fluxos de trabalho ou várias vezes no mesmo fluxo de trabalho.
Atualizar um fluxo de trabalho
Ao atualizar um fluxo de trabalho, observe que os únicos atributos obrigatórios que você precisa fornecer são o accountId
em aiWorkflowsUpdateWorkflow
e o id
do fluxo de trabalho em updateWorkflowData
. O resto é opcional. Por exemplo, você só precisará fornecer o nome se pretender apenas atualizá-lo.
Para obter o ID do fluxo de trabalho, acesse a tabela de fluxo de trabalho e clique no ícone no final da linha. Em seguida, escolha Copy workflow id to clipboard.
Aqui está um exemplo de atualização do nome de um fluxo de trabalho e de dois canais:
mutation { aiWorkflowsUpdateWorkflow( accountId: YOUR_ACCOUNT_ID updateWorkflowData: { name: "UPDATED_WORKFLOW_NAME" id: WORKFLOW_ID destinationConfigurations: [ { channelId: "12345abc-6de7-8f90-g123-4h56i78j9klm" notificationTriggers: [ACTIVATED] } { channelId: "zy0987xw-v65u-432t-10s9-r876qpo543n2" notificationTriggers: [ACTIVATED] } ] } ) { workflow { id name destinationConfigurations { channelId name type notificationTriggers } enrichmentsEnabled destinationsEnabled issuesFilter { accountId id name predicates { attribute operator values } type } lastRun workflowEnabled mutingRulesHandling } errors { description type } }}
Excluir um fluxo de trabalho
Aqui está um exemplo de exclusão de um fluxo de trabalho:
mutation { aiWorkflowsDeleteWorkflow(id: WORKFLOW_ID, accountId: YOUR_ACCOUNT_ID) { id errors { description type } }}
Testar um fluxo de trabalho
O teste procura problemas anteriores que correspondam às suas entradas e cria uma notificação falsa com base nisso. Se nenhum problema anterior correspondente às suas entradas for encontrado, um erro será retornado.
Por exemplo:
mutation { aiWorkflowsTestWorkflow( accountId: YOUR_ACCOUNT_ID testWorkflowData: { destinationConfigurations: { channelId: YOUR_CHANNEL_ID, type: SLACK } issuesFilter: { predicates: [], type: YOUR_FILTER } } ) { status notificationResponses { status evidence channelId } errors { description type } }}