2017-07-22 4 views
3

Verwenden der Logic App in Azure, um die Nachricht in den Puffer zu stellen. Dies funktioniert gut mit Standard-Textnachrichten.Azure Logic App sendet keine Anhänge an den Puffer

    "inputs": { 
         "host": { 
          "connection": { 
           "name": "@parameters('$connections')['slack']['connectionId']" 
          } 
         }, 
         "method": "post", 
         "path": "/chat.postMessage", 
         "queries": { 
          "attachments": [ 
           { 
            "color": "danger", 
            "fallback": "Azure alert attachment.", 
            "fields": [ 
             { 
              "title": "Check list" 
             }, 
             { 
              "value": "Check services on VM0 and VM1" 
             }, 
             { 
              "value": "If you cannot fix this issue make sure someone else can" 
             } 
            ], 
            "pretext": "<!channel> Action required", 
            "text": "`'@{triggerBody()['context']['name']}'` API down - '@{triggerBody()['context']['resourceName']}' Details: @{body('Http')['id']}", 
            "ts": 123456789 
           } 
          ], 
          "channel": "#devops", 
          "text": "SYST ALERT" 
         } 
        } 
+0

Haben Sie jemals herausgefunden, was hier vor sich ging? Ich stehe derzeit vor demselben Problem und kann nicht herausfinden, wie ich es beheben kann. – Andrew

Antwort

0

in diesen Blick scheint es, dass Logic Apps unterstützt keine Befestigungsart: Als ich wird gesendet, um auch zu schreiben Befestigung nichts ändern. Bitte upvote in Uservoice @

https://feedback.azure.com/forums/287593-logic-apps/suggestions/31896379-add-support-for-attachments-with-slack-post-messag

So mit, dass der Fall zu sein, wie wir dies heute tun. Slack unterstützt eingehende Webhooks sowie APIs. Ich ermöglichte dies in Logic Apps mit chat.PostMessage API für weitere Details über den API Blick auf:

https://api.slack.com/methods/chat.postMessage/test

Das grundlegende Problem bei diesem Ansatz ist die Voraussetzung für ein Token, in meinem Beispiel habe ich eine Test-Token von

https://api.slack.com/custom-integrations/legacy-tokens

Dies ist nicht der beste Ansatz (aber ich einige Probleme wurde mit der Incoming Webhook mit weiterhin diesen Ansatz versuchen und schreiben, wenn ich Erfolg dort haben) von einer Sicherheits PoV aber den Job bekommt erledigt. Der endgültige Arbeitscode lautet wie folgt:

{ 
    "$connections": { 
     "value": { 
      "office365": { 
       "connectionId": "<ConnectionID", 
       "connectionName": "office365", 
       "id": "<ID>" 
      } 
     } 
    }, 
    "definition": { 
     "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", 
     "actions": { 
      "Condition_3": { 
       "actions": { 
        "HTTP": { 
         "inputs": { 
          "body": "?token=<Token>&channel=C8270DY6L&attachments=%5B%7B%22fallback%22%3A%22Requiredplain-textsummaryoftheattachment.%22%2C%22color%22%3A%22%2336a64f%22%2C%22pretext%22%3A%22Optionaltextthatappearsabovetheattachmentblock%22%2C%22author_name%22%3A%22BobbyTables%22%2C%22author_link%22%3A%22http%3A%2F%2Fflickr.com%2Fbobby%2F%22%2C%22author_icon%22%3A%22http%3A%2F%2Fflickr.com%2Ficons%2Fbobby.jpg%22%2C%22title%22%3A%22SlackAPIDocumentation%22%2C%22title_link%22%3A%22https%3A%2F%2Fapi.slack.com%2F%22%2C%22text%22%3A%22Optionaltextthatappearswithintheattachment%22%2C%22fields%22%3A%5B%7B%22title%22%3A%22Priority%22%2C%22value%22%3A%22High%22%2C%22short%22%3Afalse%7D%5D%2C%22image_url%22%3A%22http%3A%2F%2Fmy-website.com%2Fpath%2Fto%2Fimage.jpg%22%2C%22thumb_url%22%3A%22http%3A%2F%2Fexample.com%2Fpath%2Fto%2Fthumb.png%22%2C%22footer%22%3A%22SlackAPI%22%2C%22footer_icon%22%3A%22https%3A%2F%2Fplatform.slack-edge.com%2Fimg%2Fdefault_application_icon.png%22%2C%22ts%22%3A123456789%7D%5D&pretty=1", 
          "method": "POST", 
          "uri": "https://slack.com/api/chat.postMessage" 
         }, 
         "runAfter": {}, 
         "type": "Http" 
        } 
       }, 
       "expression": "@equals(triggerBody()?['HasAttachment'], True)", 
       "runAfter": {}, 
       "type": "If" 
      } 
     }, 
     "contentVersion": "1.0.0.0", 
     "outputs": {}, 
     "parameters": { 
      "$connections": { 
       "defaultValue": {}, 
       "type": "Object" 
      } 
     }, 
     "triggers": { 
      "When_a_new_email_arrives": { 
       "inputs": { 
        "host": { 
         "connection": { 
          "name": "@parameters('$connections')['office365']['connectionId']" 
         } 
        }, 
        "method": "get", 
        "path": "/Mail/OnNewEmail", 
        "queries": { 
         "folderPath": "Inbox", 
         "importance": "Normal" 
        } 
       }, 
       "recurrence": { 
        "frequency": "Minute", 
        "interval": 3 
       }, 
       "splitOn": "@triggerBody()?['value']", 
       "type": "ApiConnection" 
      } 
     } 
    } 
} 
Verwandte Themen