見出し画像

【DX】SharePointリスト内にボタンを配置し、クリック時にAutomateフローを実行するようにしてみた!

皆さんこんにちは!エアリー社員のDX記事担当。Sです!

今回はSharePointのリスト内にボタンを配置して、
ボタン押下時に任意のAutomateフローを実行する方法を実現します。

完成イメージ図

下図赤枠のようなボタンをJSONを用いて作成します。
ボタン内の色やテキスト・アイコンの変更も可能ですので、
用途に合わせてカスタマイズなどして頂くこともできます。
(カスタマイズ方法はおまけにて記載)

↑ 完成イメージ

準備する物

SharePointのリスト
PowerAutomateフロー(※)

※Automateフローはトリガーが「選択したアイテムの場合」のみ動かせます

上記の物が準備できたら早速作成していきましょう!


SharePointのリストにボタンを配置する。

では早速作業のほうに着手していきましょう。

1.列の作成

まずはボタンを配置するための列を作成します。

ボタンを作成するリストを開いてください。
リストを開いたら、ボタンを配置するための列を作成する必要があります。

列の追加 > 一行テキストを選択

画面右側に列の設定画面が表示されるので入力していきます。
※列の名前は何でも良いです。

入力完了後、保存を押します。

先ほど追加した列が一覧画面に追加されていることが確認できます。

2.JSONを列に設定

先ほど追加したボタン設置用の列にJSONを設定します。
以下が今回使用するJSONになります。
※色の変更などのカスタマイズは後程記載します!

{
  "$schema": "http://columnformatting.sharepointpnp.com/columnFormattingSchema.json",
  "elmType": "span",
  "style": {
    "color": "#fff",
    "font-weight": "bold"
  },
  "children": [
    {
      "elmType": "span",
      "style": {
        "background-color": "#88a",
        "padding": "6px",
        "border-radius": "3px",
        "margin-left": "12px",
        "border": "solid 2px #446",
        "box-shadow": "inset 0 1px 0 #eee,inset 0 -1px 0 #777"
      },
      "children": [
        {
          "elmType": "span",
          "attributes": {
            "iconName": "MailForward"
          },
          "style": {}
        },
        {
          "elmType": "button",
          "style": {
            "border": "none",
            "background-color": "transparent",
            "color": "#fff",
            "cursor": "pointer"
          },
          "txtContent": "<ボタンテキスト>",
          "customRowAction": {
            "action": "executeFlow",
            "actionParams": "{\"id\":\"<フローID>\"}"
          }
        }
      ]
    }
  ]
}

下記二つを書き換えて作成してください。

<ボタンテキスト>:ボタン上に表示するテキスト
<フローID>   :動かしたいフローのID(※)

※フローIDの確認方法は以下になります。
起動させたいフローの編集画面を開き、URLのflows/から始まる物がIDです。

JSONの書き換えが完了しましたら、一覧画面から
追加した列をクリック > 列の設定 > この列の書式設定をクリックします。

画面右側に列の書式設定が表示されます。
詳細モードをクリックします。

JSONを入力できるようになりますので、先ほどのJSON式を貼り付けます。
※デフォルトの式は上書きしてかまいません。

↑JSONの初期設定
↑先ほどのJSON入力後

JSONの貼り付けができましたら、
保存ボタンを押して右上の「×」を押して入力欄を閉じます。

これでボタンの設定が完了しました!


ボタンの動作確認

アイテムの一覧画面から新規ボタンを押すと、
画面右側にアイテム入力画面が表示されますので適当に入力します。
※ボタン設置列には特に入力はしなくて良いです。

入力後に、保存を押します。

タイトルにボタン動作テストと入力しています。

ボタン設置列にJSONが適用されていることが確認できます。

メール送信ボタンが表示されている

ボタンが確認できましたら、次はボタン押下時のフロー動作を試します。

ボタンをクリックすると画面右側にフローの実行と表示されます。
※JSONに記載したフローIDの物がここに表示されます。

特に問題が無ければ「続行」をクリックします。

フローが実行できるようになりますので、「フローの実行」をクリック。

「フローを開始しました。」と表示されますので、
Automateフローの画面から実行履歴を確認します。

赤枠の実行履歴が実行した数秒後のようになればOKです

起動したフローが正しく動作することを確認することが出来ましたら、
完成になります!


まとめ

いかがでしたでしょうか。
SharePointのリストにボタンを配置し、
クリック時にAutomateフローを実行する方法のご紹介でした!

標準機能でも任意のタイミングでフローを実行することができましたが、
手順を踏んでの実行を行う必要がありました。

ボタンを実装することで視覚的にも、手順的にも簡単に
実行することができるようになります!


ではまた次の記事でお会いしましょう!


おまけ(ボタンスタイルのカスタマイズ)

ボタンスタイルの方法をおまけとして記載致します。

{
  "$schema": "http://columnformatting.sharepointpnp.com/columnFormattingSchema.json",
  "elmType": "span",
  "style": {
    "color": "#fff", //アイコンの色
    "font-weight": "bold"
  },
  "children": [
    {
      "elmType": "span",
      "style": {
        "background-color": "#88a", //ボタン背景色
        "padding": "6px",
        "border-radius": "3px",
        "margin-left": "12px",
        "border": "solid 2px #446",
        "box-shadow": "inset 0 1px 0 #eee,inset 0 -1px 0 #777"
      },
      "children": [
        {
          "elmType": "span",
          "attributes": {
            "iconName": "MailForward" //アイコンの種類
          },
          "style": {}
        },
        {
          "elmType": "button",
          "style": {
            "border": "none",
            "background-color": "transparent",
            "color": "#fff", //文字色
            "cursor": "pointer"
          },
          "txtContent": "<ボタンテキスト>",
          "customRowAction": {
            "action": "executeFlow",
            "actionParams": "{\"id\":\"<フローID>\"}"
          }
        }
      ]
    }
  ]
}

アイコン関連のカスタマイズ

1.アイコンの色を変更
以下の<カラーコード>の部分を、
お好きな色に対応するコードを記載してください。
"color": "<カラーコード>", //アイコンの色

2.アイコンの種類を変更
JSON内で使用しているアイコンはOffice UI Fabricの物を使用しています。

以下サイトにある物であれば名前をコピーするだけで使用できます。
コピーした名前を以下の<アイコン名>の所に記載してください。
"iconName": "<アイコン名>" //アイコンの種類

ボタン関連のカスタマイズ

1.背景色の変更
以下の<カラーコード>の部分を、
お好きな色に対応するコードを記載してください。
"background-color": "<カラーコード>",  //ボタン背景色

2.文字色の変更
以下の<カラーコード>の部分を、
お好きな色に対応するコードを記載してください。
"color": "<カラーコード>",  //文字色

今回は簡単に変更できる所のみご紹介いたしましたが、他にも色々とカスタマイズすることができますので、是非JSONを調べて遊んでみてください!


我々、株式会社エアリーは、
千葉で働きたい・頑張りたい人材を募集しております!

新卒採用中途採用どちらも募集しております!
以下HPより、皆様のご応募お待ちしております。

【株式会社エアリー:ホームページ】





この記事が気に入ったらサポートをしてみませんか?