Microsoft Flow를 코드에 통합

TL;DR



Microsoft Flow의 트리거를 HTTP 요청으로 설정하면 AWS Lambda 같은 FaaS 같은 사용법이 가능하다. (반환값을 사용하면 할 수는 없지만・・・) 2019/3/30 추가: 반환값을 사용하는 패턴은 [응답] 액션을 사용하면 실현할 수 있다고 합니다. r-wakatsuki 씨, 감사합니다!
또한 기본적으로 등록되지 않은 모든 서비스에 대응할 수 있습니다.

Microsoft Flow는?



노드 기반 프로그래밍으로 쉽게 작업 흐름을 자동화할 수 있습니다.
Slack이나 메일, Twitter등의 어플리와 제휴가 가능.
프리 플랜이 존재하며, 매월 750회까지 실행 가능 (2019/3/21 현재)
htps : // 그럼. fぉw. 미 c 로소 ft. 코 m / 자 jp / p 리신 g

간단한 예 (Hello World)


  • 트리거를 [HTTP要求の受信時]로 설정합니다.
  • 트리거에 원하는 흐름을 연결합니다. 여기 Slack이 Hello World를 게시합니다.

  • 생성된 URL에 HTTP 요청합니다. 메서드는 기본적으로 POST입니다. powershell이라면 다음과 같은 코드로 발화할 수 있습니다.

  • helloworld.ps1
    Invoke-RestMethod -Uri "https://prod-27.japaneast.logic.azure.com:443/XXXXXXXXXXXXXXXXXXXXXX" -Method POST
    

    인수를 전달하는 예 (Slack에 임의의 내용을 게시)



    트리거에 [HTTP要求の受信時]를 설정할 때 JSON 스키마를 지정하면 수신된 JSON 데이터를 플로우 내에서 처리할 수 있습니다. (페이로드를 업로드하면 자동으로 스키마를 생성합니다.)
  • 다음 sample_payload.json에서 [HTTP要求の受信時]로 스키마를 생성합니다.
  • Slack 채널 이름에서 [カスタム値の入力]를 선택한 다음 channel를 선택합니다. 메시지 텍스트도 마찬가지로 하고 message를 선택합니다.
  • 생성된 URL에 HTTP 요청합니다. powershell이라면 helloworld2.ps1 같은 코드로 발화할 수 있습니다. 이번에는 랜덤에 hello world를 게시합니다.

  • sample_payload.json
    {
        "channel":"general",
        "message":"hello world"
    }
    

    helloworld2.ps1
    Invoke-RestMethod -Uri "https://prod-27.japaneast.logic.azure.com:443/XXXXXXXXXX" -Method POST -Body ( @{"channel"="random";"message"="hello world"} | ConvertTo-Json) -ContentType 'application/json'
    

    서비스 연계 (GitHub : forced push 알림)



    Microsoft Flow는 어플리케이션 제휴가 풍부하고 편리하지만, GitHub에 forced push되었을 때용의 트리거는 존재하지 않기 때문에, 스스로 만들어 갈 밖에 없습니다.
  • github webhook 샘플 페이로드 (htps : // 기 st. 기주 b. 코 m/gj 토리키안/5171861)에서 [HTTP要求の受信時]로 스키마 생성
  • 조건 흐름을 만들고 [forced]true와 같으면 설정합니다.
  • [はいの場合]에 Slack을 연결하여 메시지 게시를 설정합니다.

  • 마지막으로 GitHub Webhook에 [HTTP要求の受信時]에서 생성된 URL을 설정합니다.

  • 이제 forced push되었을 때, Slack에 통지가 날아갑니다.

    좋은 웹페이지 즐겨찾기