Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MicrosoftFlow勉強会
Search
YuMatsumura
September 01, 2019
0
23
MicrosoftFlow勉強会
YuMatsumura
September 01, 2019
Tweet
Share
More Decks by YuMatsumura
See All by YuMatsumura
プロジェクト管理ツールLinearの紹介
mattzn
1
210
ExpoRouterとEASを使った爆速MVP開発
mattzn
0
150
大企業から17人目のスタートアップに転職しての変化
mattzn
0
330
OculusConnect
mattzn
0
21
Featured
See All Featured
How GitHub (no longer) Works
holman
310
140k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
A Philosophy of Restraint
colly
203
16k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
How STYLIGHT went responsive
nonsquared
95
5.2k
Faster Mobile Websites
deanohume
305
30k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Unsuck your backbone
ammeep
668
57k
Transcript
MicrosoftFlow 2019/09/01 @yuma1217_ja
MicrosoftFlowとは • Microsoftのサービス • 色んなサービスと連携して自 動化出来る • Microsoftのサービスなので Office365との連携が協力 •
例:メールが来たらメールの 添付ファイルをOnedriveに保 存してTeams, Slackにも投稿
始め方 • https://japan.flow.microsoft.com/ja-jp/ • O365アカウントでログイン
1. Create Click to add text 3. Flowの種類を選択する 2. まずTemplateを確認する
Templateの確認 • やりたい事の大半がテンプ レートを少し改変するだけで 出来るかもしれない • 例えば左下は、メールが来た ら特定のSlackチャンネルに転 送するテンプレート
flowの種類 • Automated flow • 自由に作成するlow • Instant flow •
スマホアプリ上にボタンを配置 し押したら実行されるflow • Sceduled flow • 時間を設定しその時間に実行す るflow • 毎日、毎週など定期実行も出来 る
Automated flow • TriggerとActionを指定する • Triggerが起きたらActionが実行される • Triggerは例えば、メールが来たら、 Sharepointでファイルが作られたら、 GitHubでIssueが立てられたら、
Gmailが来たら、などたくさんある • Actionも同じように豊富で Gmailで返信するなどがある
Automated flow(例) • Botを作る • 発言があったら挨拶 するBot
Automated flow(例) • Botを作る • 言った相手にメンションを 送る • メンションは, <at>メールアドレス</at>
で実現できる アドレス
Automated flow(例) • 今のままだと誰が発言してもBotが返答する • Botがメッセージを投稿したものに対しても反応してしまう -> 無限ループ! • 発言が誰によって行われたかを判断したい!
• Conditionを使おう!
Automated flow(例) • ConditionをTriggerの下に挟む • Messge from userを選択 • is
not equal toを選択 • null と入力する
Automated flow(例) • If yesの下にメッセージを返答するアクションを記述して完成!
完成したが・・・ • Flowには実行回数の制限がある • 作ったFlowのトップページに何回Flowが走ったか見れる • 自分は1回しか投稿していないが二回Flowが走っている • Botの返答でもFlowが走っていて実行回数が無駄に増えている! •
クリックすると詳細が見れる
• 自分が投稿した時 • ConditionがTrue • if yesの所に チェックマーク • Botが投稿した時
• ConditionがFalse • if yesの所に×マーク
Triggerの発火条件を絞る • Triggerの・・・を押しSettings • 一番下のTrigger Conditionsに 下の数式を入力 • これでBotの投稿ではFlowが 動かなくなる
どうやって数式を作っていくか • Dynamic Contentや、Expressionをよく見る • 入力しようとすると出てくるリスト
DynamicContent • Message from userなどFlowが判断してくれる式のこと • どうなっているのかを確かめるには 式を入力後コピーしてエディター(メモ帳など)に貼り付ける • 下のような式になっている
DynamicContent • DynamicContentと普通の文字などを一緒に使うには @{}で囲むと良さそうと分かる
DynamicContent • DynamicContentを使えば、Triggerが発火した時のデータを アクションに使う事が出来る • 例えば、Teamsでの発言時間を取得して、Excelに転記する など • DynamicContentで出ないデータが欲しい場合 •
今まで実行されたFlowをクリックする
DynamicContent • Flow実行時のデータを見る事が出来る • createdDateTimeがメッセージが 投稿された時間 • @{triggerBody()?['createdDateTime']} でデータを使う
Expressions • 式を記述できる • 二つを比較して等しい時にはtrueを返す equals • 二つの数値を比較して大きい方を返す max •
などたくさん存在
Expressions • 今回はuserがnullかどうかを調べたい • equals()の()の中でDynamicContentから Message from userを選択 • ['user']の後に、
, nullと入力する • さらに今回は等しく無いときなので、 not()を使う • not(equals(......))のように挟んで記述してOKを選択
Expressions • 生成されたExpressionをまたコピーして エディターに貼り付けると16Pの数式が 取得できる!
Flowのテスト • 編集画面の右上のTestを押すと 今までFlowが動いたデータでテストが可能
Instant flow(例) • ボタンを押したらTeamsの特 定のチャンネルに投稿される flow
Instant flow(例) • →スマホアプリ上のボタンに 作成されているので押すと • 設定したTeamsで投稿されて いる • 絵文字は展開されなかった...
Instant flow(例) Ver2 • 入力を付けてみる • 休む理由を適宜変更出来るよ うにする
Instant flow(例) Ver2 • ボタンを押すと入力フォームが 出現 • テキストを打って完了ボタンを押 す •
自由なお休み理由を投稿できた