4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

UiPathによるSharePointnの自動化(SharePoint Custom Activities Package)【UiPath マーケットプレース】

4
Last updated at Posted at 2020-07-28

はじめに

※2020/7/29に再投稿
本書は #UiPathFreiensdの@ShumpeiWatanabeさんが始められた
「UiPathブログ ブログ発信チャレンジ」への投稿になります。
https://twitter.com/ShumpeiWatanabe/status/1281173891189059585)
ブログなんて書いたことないし、UiPathなんてしばらく実務で使っていなかったので、何書けばいいんだろうと思いましたが、今実務でメインにつかっている「SharePoint」との連携を書けばいいんじゃないかということで書いてみました。
少し機能の掘り下げが甘いですが、これを機に徐々に追記してゆきます

UiPath SharePoint Custom Activities Packageとは

 UiPathには様々な追加パッケージがUiPath社や、同社が運営するUiPath connect マーケットプレイス( https://connect.uipath.com/ja/marketplace/components )から提供されています。表題のパッケージもその一つで、マーケットプレイスもしくは、UiPath本体の「パッケージ管理」から導入することができます。

名前の通り、MicrosoftのSharePointを操作するActivity群です。

マーケットプレイス、パッケージ管理どちらからインストールしてもいいのですが、マーケットプレイスは英語ながらもドキュメントが添付されていますので、最初はマーケットプレイスを読んで、実際のインストールはパッケージ管理からインストールしたほうがいいでしょう。
【マーケットプレイス】https://connect.uipath.com/ja/marketplace/components/sharepoint-custom-activities-package
 ※記事の時点のバージョンは 1.5.2
 ※UiPathの社員さんがリリースしているようですが、会社としてのサポートはないようです。英語ですが、質問ができるようです。

インストール

実際にインストールしてみます。
UiPathのパッケージ管理画面を開いて、connectチャネルを選択し、「SharePoint」で検索してみてください。
2つ以上検索されますので、「UiPathTeam.SharePoint.Activiteies」を選択してください。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3134373933372f32653335656631612d366434662d666465642d383065332d31303233626263326565336.png

インストールを続行すると、依存性のチェック画面が出てくるので、「OK」でインストールを完了させてください。
インストールが完了すると、以下のアクテビティが追加されています。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3134373933372f39656530326562372d626666652d633264642d343432372d30643062653661656366623.png

アクテビティについて

アクテビティは大きく4つにカテゴライズされます

分類 説明
ライブラリ関連 ファイルを格納するライブラリを操作するアクテビティ群です
リスト関連 簡易データベースのListを操作するアクテビティ群です
パーミッション関連 上記ライブラリやListのパーミッションを操作するアクテビティ群です
ユーザー関連 ユーザーの権限関連の操作を行うアクテビティ群です

今回はList操作にについて説明します。
アイテムの追加、参照、削除、更新の4つの機能について説明します。
※リストやライブラリ、ユーザーを作成する機能はありません

ワークフローへの記載

ワークフローへの記載は以下の通りとなります。

SharePointアプリケーションスコープの配置

まず、ワークフローにSharePoint Aplication scope を配置します。SHarePointとの接続を行う部分です。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3134373933372f38343466623266622d396532662d333832652d353863392d35373664613335323638643.png
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3134373933372f64323330396435372d613231352d363530392d393465302d32353964376136313564643.png

必要な情報は以下の3点です

  • SharePointサイトのURL
  • ユーザー名
  • パスワード

※実行に当たり、ユーザーに対して実際のSharePointの操作権限が付与されている必要があります

コンポーネントの配置

次に実際に操作するコンポーネントを配置してゆきます。
SharePoint Application Scopeの「Do」スコープに配置してゆきます。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3134373933372f38343466623266622d396532662d333832652d353863392d35373664613335323638643.png

※Doスコープから外れると、接続が維持できなくなりますのでご注意ください

ADD List Item アクテビティ

リストにアイテムを追加するアクテビティです。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3134373933372f37653763333932642d373239652d383163662d666434312d33313961346530353965616.png

リスト名と追加アイテム値をセットします。追加アイテム値は項目名とデータをキーペアとした辞書(Dictionary)型である必要があります。
キーとなる項目名は内部名である必要があり、かつ大文字/小文字を区別しますのでご注意ください。

【実際のワークフローの例】
SharePointに下記のようなリストがあるとします
image.png
※上記リストのタイトルの内部列名は「Title」、valie1は「value1」です。
それぞれに項目を追加するワークフローは以下の通りです。
insert.png

これで、タイトルに「タイトル」をvalue1に「バリュー1」と入力するワークフローができました。

【実行結果】
image.png

Get List Item アクテビティ

リストの値を取得アクテビティです。

リスト名とデータを選択するためのCAMLクエリ、出力先の変数(DataSet型かもしくはDictionary型)を設定します
CAMLクエリーを設定しない場合は全件取得します。
CAMLクエリーを簡単に作りたい場合はこちら> https://qiita.com/TwToshiya/items/beee89f00ec94ce10baf
※本アクテビティのマニュアルに紹介されているツールを紹介しました

DELETE List Item アクテビティ

リストアイテムを削除するアクテビティです
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3134373933372f33383866373239662d343337362d646131372d323439312d64636163313035613538386.png
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3134373933372f61353130323130362d326265392d396166352d373366652d31653136396133626238623.png

これも対象リストと、削除したい条件式をCAMLクエリーで設定します。
クエリーを空で指定すると全件削除になります。
いちおう、ガードとして、プロパティの「AllowOperationOnAllItems」にチェックを入れないと、CAMLクエリーを空白値とすることを許さない仕様になっています。

UPDATE List Item アクテビティ

リストを更新するためのアクテビティです
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3134373933372f37613038316265662d396465612d353230382d363561642d38383330336364626432663.png

こちらは少し変わっていて、変更したいリスト名を指定するのは今までと同様なのですが、変更する特定を対照するためのCAMLクエリーと更新するための項目名と項目地のペアの辞書(Dictionary)型変数をセットする必要があります。

最後に

駆け足でSharePoint Custom Activitiesを紹介してみましたが、いかがだったでしょうか?

「SharePointの操作ならPower Auromateがあるじゃないか」とおっしゃる方。ごもっとです。
しかしながら、オンプレミスのSharePoint等でPower Automateが適用できない場合や、UiPathの一連処理の流れで最後にSharePointにデータを格納したい場合など、UiPathを使用するほうが適切といったケースもあると思いますので、この方法を参考してみてはいかがでしょうか?

ちなみに、StudioXにもパッケージのインストールはできましたが、辞書型変数の生成ができないため、取り扱いは難しいかもしれません。
ご拝読ありがとうございました。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?