タスクワールド(Taskworld)ブログ

とにかく使いやすい!実際の業務で重宝する機能が満載!

タグ:連携


~Microsoft Power Automate のカスタムコネクタでタスク情報を取得しましょう!~

API


今回は Microsoft 公式のワークフロー自動化サービス Power Automate でカスタムコネクタを作成し、タスクワールドのタスク情報を取得してみましょう。

※本稿に掲載されているインターフェース画像は記事がリリースされた時点のものであり、現在のものとは完全に一致しない場合があります。

事前準備

以下の①~③を準備します。

Microsoft Power Automate にサインインします。
※カスタムコネクタの利用にはOffice365の Premium アカウントが必要になります。用途に応じて Power Automate のライセンスを購入してください。

② API 呼び出しのテンプレート作成に使用する Postmanをインストールします。

③ タスクワールド API で使用する ID を用意します。ID はタスクワールド画面の「アカウント設定 > データのダウンロード」からダウンロードするか、または過去記事のサンプルソースからも取得できます。


テンプレートを作成

まずは Postman でAPI 呼び出しのテンプレートを作成します。

過去記事の手順を参考にして、Postman でタスク情報取得(task.get)を実行します。レスポンスで「"ok":true」が返ってくれば成功です。

リクエストが完成したらエクスポート用のコレクションを作成してクエリを格納しましょう。

左上の「NEW」ボタンをクリックして「Creat New」の「Collection」を選択し、任意の名前でコレクションを作成します。

01Postman_collection

次にクエリをこのコレクションに保存します。先ほど実行した task.get API のタブを開いた状態で、右上の「Save」ドロップダウンから「Save As...」をクリックして、コレクションを指定して保存します。

02Postman_collection

コレクションをエクスポートします。Postmanの左側の コレクション一覧にカーソルを重ねて「…」メニューを開き「Export」をクリックします。形式は「Collection V1」を選択し、「Export」をクリックして任意の場所にファイルを保存してください。

03Postman_export1

カスタムコネクタを作成

次にカスタムコネクタを作成します。

Power Automate 画面の左側メニューから「データ>カスタムコネクタ」を開きます。ページ右上「カスタムコネクタの作成」をクリックして「Postman コレクションをインポート」を選択します。

06_05Flow_import


「カスタムコネクタの作成」フォームが開くので、任意のカスタムコネクタ名を入力し、「インポート」で Postman からエクスポートしたテンプレートファイルを選択して「続行」をクリックします。

06Flow_import2

なお、ファイルを選択するとファイルが別名で表示されますが、これは指定したファイルから自動変換された一時ファイルの名前が表示されているだけなので問題ありません。

インポートに成功したら右上の「コネクタの作成」をクリックして保存します。これでカスタムコネクタの作成は完了です。

06_07Flow_import3

テスト実行

作成したカスタムコネクタの動作確認をしましょう。

カスタムコネクタの編集画面で「4. テスト」を開きます。
接続欄が空欄なら「+新しい接続」をクリックして接続設定を追加します。下段の送信パラメータ欄にタスクワールドのプロジェクト情報を入力し、「テスト操作」を実行しましょう。

06_10Flow_test1

テストが終わると下の方に結果が表示されます。「OK(200)」が返っていれば成功です。

06_11Flow_test2

まとめ

いかがでしたでしょうか?カスタムコネクタを一から作成すると設定項目が多くて大変ですが、Postman を使えばあっという間にカスタムコネクタが完成します。インポート前にAPI の接続確認が済んでいるのも安心ですね。

Power Automate は Office 製品や外部サービスとの連携に強く、ワークフローのトリガーも様々に設定できるので大変便利です。Power Automate を使いこなせれば定型作業の自動化がとても捗りますので、みなさんもぜひ、タスクワールドと一緒に使ってみてください!

--------------

タスクワールドは、30日間無料でトライアル利用が可能です。
トライアル期間中は、アナリティクス機能を含む、そのすべての機能を無制限で使えます。
日本語によるサポートもバッチリなので、ぜひ気軽にトライアルスタートを!

twbanner_700x230_ja

1-cR7Xny-Rt1dGa1JGiexWBw

1-LXIE6IOdez6aMNcva6C6Bg

~Google Apps Script でタスクにチェックリストを追加しましょう!~

API


※本稿に掲載されているインターフェース画像は記事がリリースされた時点のものであり、現在のものとは完全に一致しない場合があります。

前回に引き続き Google Apps Script(以下GAS)の bot を作成しましょう。今回は一日ごとにタスクを確認し、新しいタスクに以下のタグが付与されていた場合、タスクに自動でチェックリストを追加する処理を実装します。

before


このサンプルでは Google とタスクワールドのアカウントが必要になります。また、タスクワールド API で使用する ID も用意しておきましょう。ID はタスクワールド画面の「アカウント設定 > データのダウンロード」からダウンロードするか、または<前回記事>のサンプルソースで取得できます。


スクリプトファイルを追加

まずは Google Apps Script プロジェクト一覧画面で前回のプロジェクトを開き、メニューの「ファイル > 新規作成 > スクリプトファイル」で新規スクリプトを開きます。

このファイルにサンプルスクリプト(クリックしてダウンロード)をコピーペーストして保存します。ファイル名は任意で構いません。

add_script


プロパティを追加

今回使用するタグの ID をスクリプトプロパティにを追加します。

メニューの「ファイル > プロジェクトのプロパティ」から「スクリプトのプロパティ」を開き、以下のようにプロパティを追加してください。

ここで指定したタグがタスクにあったらチェックリストを自動で追加します。

properties


スケジュールを設定

一日ごとにタスクの登録状況を確認するためのトリガーを登録しましょう。

スクリプトエディタのメニューから「編集 > 現在のプロジェクトのトリガー」で一覧を開き、新規トリガーを追加して任意のタイミングを設定します。今回は日次処理なので「日付ベースのタイマー」を選択します。

trigger_new



テスト実行

動作確認を行う場合はメニューバーの「関数を選択」欄で addCheckItems 関数を選択し、デバッグボタン(虫のマーク)をクリックします。

debug



スクリプトの動作が終了したらタスクワールドを確認しましょう。下図のように2件のチェックリストが登録されていれば成功です。

after



スクリプトの実装内容

さて、今回もスクリプトの処理内容を簡単にご説明しましょう。

addCheckItems 関数は条件に該当するタスクを確認してチェックリストを登録するメイン処理です。

タスクリストを取得し、それぞれのタスクの登録日時とタグ情報を確認して、条件に該当すればチェックリストアイテムを2件登録します。日次処理なので、一日以内に登録されたタスクかどうかを判定していますね。

func1_addCheckItems


addItem 関数は checklist.add-item API のラッパー関数です。追加先のタスクの ID とチェック項目(タイトル)を引数で受け取って API で送信します。

func2_addItem


この他に前回の記事で実装した関数(getTasklist、postRequest)も使用していますが、初めての方は前回の記事を参照してください。

まとめ

タスクごとに作業手順が決まっている場合は、それぞれの作業項目をチェックリストとして登録するとタスク管理がしやすくなりますね。各タスクの進捗状況が一目で確認でき、作業の漏れ抜けも防止できます。

もしあなたのオフィスで分厚い作業マニュアルが現役なら、これからは bot でチェックリストを自動登録してみませんか?作業効率の改善を実感できますよ!

--------------

タスクワールドは、30日間無料でトライアル利用が可能です。
トライアル期間中は、アナリティクス機能を含む、そのすべての機能を無制限で使えます。
日本語によるサポートもバッチリなので、ぜひ気軽にトライアルスタートを!

twbanner_700x230_ja

1-cR7Xny-Rt1dGa1JGiexWBw

1-LXIE6IOdez6aMNcva6C6Bg

~Google Apps Script で タスクワールドのチャットに通知する bot を作りましょう!~

API


※本稿に掲載されているインターフェース画像は記事がリリースされた時点のものであり、現在のものとは完全に一致しない場合があります。

今回は Google Apps Script(以下GAS)を使用して、タスクリストの期限切れタスクの件数をチャットに通知する bot を作成します。

このサンプルでは Google とタスクワールドのアカウントが必要になります。また、タスクワールド API で使用する ID も用意しておきましょう。ID はタスクワールド画面の「アカウント設定 > データのダウンロード」からダウンロードするか、または<前回記事>のサンプルソースで取得できます。


スクリプトを作成

まずはGoogle Apps Script プロジェクト一覧画面で新規スクリプトを作成し、スクリプトエディタを開きます。

このエディタ上にサンプルスクリプトをコピーペーストして保存します。プロジェクト名・ファイル名は任意で構いません。

editor



プロパティを登録

次にアクセストークンと ID をスクリプトプロパティに登録します。

メニューの「ファイル > プロジェクトのプロパティ」から「スクリプトのプロパティ」を開き、以下のようにプロパティを追加します。

properties


スクリプトの実行を承認

ここまで準備したら動作確認を行いましょう。myFunction 関数を選択してメニューバーのデバッグボタン(虫のマーク)をクリックします。

debug


すると、最初に実行する時は「承認が必要です」というメッセージが出てきます。

「許可を確認」をクリックし、次の「アカウントの選択」フォームで使用アカウントをクリックします。この後、許可ボタンが表示されれば許可に進みますが、「このアプリは確認されていません」と表示されたら「プロジェクト名(安全ではないページ)に移動」をクリックし、メッセージに従って進んでください。

permission


承認が完了するとスクリプトが実行されます。

タスクワールドのチャットに以下のようなメッセージが表示されたら成功です!

message



スケジュールを設定

スクリプトを定期的に実行したい場合は、GAS でトリガーを登録しましょう。

スクリプトエディタのメニューから「編集 > 現在のプロジェクトのトリガー」でフォームを開き、トリガーを追加して任意のタイミングを設定します。下図の場合、毎週月曜の午後に myFunction 関数を実行します。

trigger2


スクリプトの実装内容

スクリプトに実装した処理内容を簡単にご説明します。

最初に実行する myFunction 関数は、期限切れタスクの件数を数えてメッセージを送信するメイン処理です。

func1MyFunc


myFunction からラッパー関数を呼び出してタスクリストの取得およびメッセージの送信を行います。また、スクリプトプロパティにアクセスし、各 API で送信するパラメータを用意します。

func2Wrapper


postRequest 関数はタスクワールド API の呼び出しを実行します。

func3Apicall



まとめ

今回はさらに実践的な内容となりましたが、いかがでしたか?

GAS を使うとスクリプトの実行環境や定期処理が無料で利用できてとても便利ですね。また、GAS からデータをスプレッドシートに記録したり、他のサービスへ連携するハブにも使えます。

プロジェクト管理は何かと大変ですが、API を活用して便利な環境を作っていきたいですね!

--------------

タスクワールドは、30日間無料でトライアル利用が可能です。
トライアル期間中は、アナリティクス機能を含む、そのすべての機能を無制限で使えます。
日本語によるサポートもバッチリなので、ぜひ気軽にトライアルスタートを!

twbanner_700x230_ja

1-cR7Xny-Rt1dGa1JGiexWBw

1-LXIE6IOdez6aMNcva6C6Bg

~API連携により、タスクワールドの可能性が大幅に広がります!~

API


今回は Taskworld API で情報を取得する Javascript のサンプルプログラムをご紹介します。こちらは認証ユーザーに紐づく情報を取得してワークスペース内の情報をツリー状に表示しますので、登録情報のご確認や仕様理解のご参考にお使いいただけます。

本稿ではプログラムの使い方と実装のポイントをご説明します。

※本稿に掲載されているインターフェース画像は記事がリリースされた時点のものであり、現在のものとは完全に一致しない場合があります。

サンプルプログラムの使い方

まずはサンプルの使い方をご説明します。こちらのファイルを PC にダウンロードして解凍して下さい。

※本記事の公開時点ではセキュリティ上の理由から API サーバ側で CORS 制限を掛けています。そのため本プログラムをWEB サーバーから直接配信する場合は情報取得時にクロスドメインエラーが発生しますのでご注意ください。

htmlファイルをブラウザで開くと以下のように表示されますので、email と password 欄に登録済みユーザーの認証情報を入力して「情報取得」ボタンをクリックします。

tool01

認証情報を間違えると以下のように result 欄にエラー情報が表示されます。この場合は再入力してリトライしてください。

tool02_autherr

認証に成功すると以下のようにユーザー情報とワークスペース情報が表示されます。

tool03_authok

「ユーザー情報」には認証したユーザーの登録情報とアクセストークン、デフォルトスペース ID(ユーザー登録時最初に作成したワークスペース)が表示されます。

「ワークスペース情報」には、ユーザーが参加しているワークスペースの一覧が表示されます。(default)となっているのは認証したユーザーのデフォルトスペースです。

ワークスペース名がASCII文字以外の場合、ワークスペース名はハッシュコードの形になります。これはプロジェクト ID とは違うので注意してください。

※なお、こちらは記事公開時点の仕様であり、今後変更される可能性があります。

ワークスペース名をクリックすると、アコーディオンが展開してワークススペースの詳細を表示します。

tool04_workspace

丸括弧でくくった数字は下位のアイテムの件数です。

「channels」「projects」のアイテムをクリックすると各々の詳細を表示します。

「channels」はチャットの情報です。

「general / project channel(s)」 はそれぞれワークスペースとプロジェクトのデフォルトのチャットです。

「group channels 」は任意で作成したグループチャット、「direct channels 」はダイレクトメッセージです。チャット情報を展開すると以下のようになります。

tool05_channels

「project(s)」はプロジェクトの情報です。アコーディオンを展開するとプロジェクトの詳細とタスクリストが表示されます。タスクリストとタスクはさらにクリックして詳細を表示できるようになっています。

tool06_projects



以上がサンプルプログラムの使い方です。


実装のポイント

このプログラムのポイントは階層化された情報を順番に取得するための仕組みにあります。タスクワールドのオブジェクトの情報を取得するには上位オブジェクトの ID を指定する必要があるため、必然的にこのようなスタイルになります。

また、一度にすべての関連情報を取得すると大量の通信が発生するため、本プログラムではアコーディオン表示を展開した時に追加情報を取得しています。

イベントごとに行う処理は以下の通りです。

★「情報取得」ボタン押下時
・auth(ユーザー認証)
・user.get-info(認証ユーザーのユーザー情報を取得)
・workspace.get-user(ユーザー名表示のためワークスペースのユーザー情報を取得)
・workspace.get-all(ワークスペースの情報を取得)
・channel.get-all(各ワークスペースのチャット情報を取得)

★ワークスペース表示展開時
・project.get-all(プロジェクト情報取得)
・tag.get-all(タブ名表示のためタグ情報を取得)

★プロジェクト表示展開時
・tasklist.get-all(タスクリスト取得)

★タスクリスト表示展開時
・tasklist.get-tasks(タスク情報取得)



本プログラムでは各アイテムを識別しやすくするために、ユーザーやタグについては登録名も表示しています。ですが、以下の情報は記事公開時点ではAPIから取得できませんので、こちらはタスクワールド管理画面で確認していただく必要があります。

・日本語のワークスペース名
・プロジェクトチャットのプロジェクト名



まとめ

いかがでしたか?今回は情報取得のみでしたが、更新や追加の API を組み合わせれば自由なデザインでタスクワールドを操作できるようになります。興味がある方はぜひトライしてみてくださいね。


--------------

タスクワールドは、30日間無料でトライアル利用が可能です。
トライアル期間中は、アナリティクス機能を含む、そのすべての機能を無制限で使えます。
日本語によるサポートもバッチリなので、ぜひ気軽にトライアルスタートを!

twbanner_700x230_ja

1-cR7Xny-Rt1dGa1JGiexWBw

1-LXIE6IOdez6aMNcva6C6Bg

~API連携により、タスクワールドの可能性が大幅に広がります!~

今回は Taskworld API でタスクを登録するサンプルプログラムをご紹介します。

Javascript(jQuery)と PHP で、フロント/サーバそれぞれからリクエストを送信する場合のサンプルです。

API

それでは、Let's スタート!

※API のリファレンスはこちらのドキュメントを参照してください。
https://api-docs.taskworld.com/

前回の記事「イッキに解説します!タスクワールド APIの使い方!」もご参照ください。

※本稿に掲載されているインターフェース画像は記事がリリースされた時点のものであり、現在のものとは完全に一致しない場合があります。

------

Javascript で Taskworld API を呼び出してみよう!

まずは Javascript でブラウザのフォームからタスクワールドにタスクを登録するプログラムを動かしてみましょう。

1. ソースコード

こちらからサンプルソースをダウンロードして下さい。

ファイルを解凍してテキストエディタで開いて下さい。内容はajax 関数でリクエストを送信して、画面に結果を表示するだけのシンプルな処理です。
js01_source


2. 認証キー・IDを用意

タスク登録には以下のパラメータが必要になります。タスクワールドのデータを確認しておきましょう。それぞれの取得方法は前回の記事を参考にしてください。

・認証キー
・スペースID
・プロジェクトID
・リストID


これらのパラメータをソースに直接記入して.html 形式で任意の場所に保存します。

このファイルをWebブラウザで開くと下図のようなフォームが表示されます。

3. API 呼び出しを実行

それでは API 呼び出しを実行してみましょう。

下のようにフォームのテキスト欄にタスク名を入力してボタンを押すと、ajax 通信で非同期リクエストが送信されます。

js03_view

result 欄に「OK」と表示されたら処理成功です。

タスクワールドのプロジェクトを表示すると、以下のようにタスクが追加されていることが確認できますね。

js04_tw

なお、API でタスクを作成する際は、タスク名しか設定ができないのでご注意ください。

期限などを設定するには、別途タスク更新(task.update)を行う必要があります。


PHP で Taskworld API を呼び出してみよう!

次はサーバから PHP で Taskworld API を呼び出すサンプルです。

今回は、タスク登録の後にタスク更新も実行して、期日などの詳細設定を同時に行ってみましょう。

php00_tw_sample_img


1. ソースコード

PHP のサンプルソースはこちらになります。

2. POST リクエストの送信方法

今回は POST リクエストを2回実行するので、送信処理を関数化しています。

関数ではリクエストボディを送信するために stream_context_create でストリームコンテキストを作成し、file_get_contents を実行します。

コンテキストオプションの詳しい説明はこちらを参照してください。

もしパフォーマンスなどが気になる場合は、file_get_contents の代わりに curl を使用すると良いでしょう。

php01_postfunc


3. 認証キー・IDを用意

タスク登録に必要なパラメータを用意します。それぞれの取得方法は前回の記事を参考にしてください。

・認証キー
・スペースID
・プロジェクトID
・リストID


用意したパラメータをプログラムで以下のように定義します。

新しく登録するタスクの名前は引数で受け取るようにしましょう。

php02_api_defs


4. タスクの登録・更新

タスク登録とタスク更新の実装は以下のようになります。

下図の上部「①タスク登録」がタスク登録を実行するブロックです。先ほど作成した POST 送信関数に URL、APIコマンド名、パラメータを渡していますね。

登録時はコマンドに "task.create" を指定します。

php03_api_calls

タスク登録に続き、タスク更新の実装です。

図の「②タスク更新」のブロックで、タスク ID と以下の詳細情報をクエリパラメーターに設定しています。コマンドには ”task.update” を指定します。

・タスク ID(直前に実行した登録リクエストのレスポンスから取得)
・タスクのポイント数
・タスクの色
・説明
・タスクの開始日(=現在時刻を設定)
・タスクの期日(=1週間後を設定)

5. API 呼び出しを実行

PHP の実行環境にソースファイルを配置して、コンソールから実行してみましょう。
下図のように実行時引数でタスク名を渡すと、その名前でタスクが登録されます。


php04_console


タスクワールド上でタスクリストを確認すると、リアルタイムでタスクが登録されます。

php05_tw_add_task

赤枠で囲んだ箇所は task.update で更新した部分です。期日などの設定が確認できますね。


タスクワールドをもっと便利に!

今回ご紹介した処理を応用することにより、外部システム上での作業進捗を、タスクワールドと連携することができ、プロジェクト管理における利便性が大幅に向上します。

例えば Wordpress の場合を考えてみましょう。

下書きを投稿した時にタスクを登録するプラグインを作成すれば、スタッフの誰かが記事を作成する度にタスクが追加されて、タスクワールド上で未公開記事の状況が確認できるようになります。

煩雑なプロジェクト管理を自動化/一元化できると助かりますよね。

ぜひ、お使いのシステムで Taskworld API を活用してみてください!

--------------

タスクワールドは、30日間無料でトライアル利用が可能です。
トライアル期間中は、アナリティクス機能を含む、そのすべての機能を無制限で使えます。
日本語によるサポートもバッチリなので、ぜひ気軽にトライアルスタートを!
twbanner_700x230_ja

1-cR7Xny-Rt1dGa1JGiexWBw

1-LXIE6IOdez6aMNcva6C6Bg

↑このページのトップヘ