簡體   English   中英

Azure Logic App不會將附件發送到松弛狀態

[英]Azure Logic App not sending Attachments to slack

使用Azure中的Logic App將消息發布到松弛。 這適用於標准文本消息。 當我更改為發布附件時,沒有發送任何內容:

                    "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"
                        }
                    }

考慮到這一點,似乎Logic Apps不支持附件類型。 請在uservoice @ upvote

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

那么就是這樣,我們今天如何做到這一點。 Slack支持傳入的Webhooks以及API。 我使用chat.PostMessage API在Logic Apps中啟用了此功能,以獲取有關API的更多詳細信息:

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

這種方法的基本問題是需要一個令牌,在我的樣本中我使用了一個測試令牌

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

這不是最好的方法(但我有一些問題,使用Incoming WebHook將繼續嘗試這種方法,如果我在那里取得成功,則發布)來自安全PoV,但確實完成了工作。 最終工作代碼如下:

{
    "$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"
            }
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM