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

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

タグ:トレロ

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

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

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

API

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

※API のリファレンスはこちらの、アジアサーバー向けのドキュメントを参照してください。
https://asia-api.taskworld.com/#introduction

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

------

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

まずは Javascript です。

以下のようなフォーム画面からタスクワールドにタスクを登録するプログラムを見てみましょう。

js02_view

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 を活用してみてください!

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

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

1-cR7Xny-Rt1dGa1JGiexWBw

1-LXIE6IOdez6aMNcva6C6Bg

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

「Taskworld API」 はタスクワールドのリソースにアクセスできる JSON ベースの Web APIです。様々なクライアントから実行可能で、タスクワールドのユーザーであれば、機能に制限なく、誰でも利用することが可能です。

API


本日は、「Taskworld API」の使い方サンプルを駆け足で見ていきましょう!

Let's スタート!

※API のリファレンスはこちらの、アジアサーバー向けのドキュメントを参照してください。
https://asia-api.taskworld.com/#introduction

------

まずは認証キーの取得からスタート!

クラウドサーバーによるタスクワールドのサービスは、アジア、欧米、欧州の3つの異なるリージョンで運営がされています。サインアップ時に選択したサーバーのリージョンがアジアであれば、アカウントおよびワークスペースは、アジアのサーバーで運営されているということになります。

利用しているサーバーのリージョンをチェックしてみましょう。タスクワールドのワークスペースにアクセスをして、そのURL のドメインが「asia-enterprise.taskworld.com」となっていれば、アジアのサーバーが使われていることが確認できます。

01_01_region

アジアリージョンの API に認証リクエストを送信して、認証トークンを取得してみましょう。

本記事では、 HTTP クライアントに Chrome専用アプリ「Postman」を使用します。Postmanの詳細に関しては、その公式サイトを参照してください。

Postmanを起動し、リクエストメソッド / API の URL / MIMEタイプを設定します。

01_02_postman_auth_1

続いて、 Bodyタブを開き、「raw / JSON」を選択して、登録情報のJSON(メールアドレス、パスワード)を入力します。

01_03_postman_auth_2

「Send」ボタンでリクエストを送信すると、下段に結果が表示されます。

今回はリクエストが成功し、レスポンスで以下の認証情報を取得できました:

・access_token(認証トークン)
・default_space_id(ユーザーが最初に作成したワークスペース)
・workspaces(ユーザーがアクセス可能なワークスペース)


「access_token」は、この先すべての API で使用します。その使用に際して制限などは設けられていないため、取り扱いには十分注意をしてください。

01_04_postman_auth_res

下は、メールアドレスが誤りの場合のエラーレスポンスです。

01_05_postman_auth_err

エラーに関しては、 API リファレンスのエラー情報を参照して下さい。


ワークスペースのデータ構成はこうなっています!

それではここで、ワークスペースを構成するオブジェクトの関係を少しだけ見てみましょう。

下図は、APIが返却するオブジェクトの概念的な関連図です。

02_01_er

タスク管理の基本構成は、ワークスペース > プロジェクト > タスクリスト > タスクという親子関係になっています。

チャンネル(チャット)はユーザー/ワークスペース/プロジェクトに紐づいており、各々のチャンネルの会話がメッセージとして保存されます。

メッセージは、この他にタスクコメントとして単独でも使用されます。そのため、メッセージは 「parent_id」 と 「parent_type(channel / task)」の2種類のキーで親オブジェクトを識別している点に注意してください。

これらの登録データは、APIで取得する他に、一括でダウンロードすることも可能です。一括ダウンロードは、タスクワールドのアカウント設定画面からリクエストを送信できます。

JSON

※ダウンロードデータの型は、APIレスポンスとは若干異なります。

ワークスペースのデータ量が多いと、APIだけで構成を把握するのは大変です。あらかじめデータをダウンロードしておけば、開発がスムーズに進むのでオススメです。

それでは、実際にAPIを使ってみましょう!


APIで、ワークスペース情報を取得!

まずはワークスペースの情報を取得します。

「Get workspaces API」 で、ユーザーがアクセス可能な全てのワークスペースの情報を取得しましょう。ここからは、前述の取得済み「access_token」を認証に使用します。

03_01_workspace_all


「Get workspaces API」では、ワークスペースの「name」に注意してください。

「Taskworld API v1」 では、URL に使用するキー文字列(日本語の名前の場合はハッシュ値)が「name」として返ります。そのためレスポンスを見ただけでは、どれがどのワークスペースなのか区別するのが難しい時があります。

前述のデータダウンロードであれば、日本語名も取得できるので、可能であれば両者を突き合わせてレスポンスを確認する事をオススメします。


APIで、タスクリスト&タスクを追加!

次は、APIを使い、プロジェクトにタスクリストを追加してみましょう。

「Create a tasklist API」を使用します。ワークスペース、プロジェクト、そして追加するタスクリスト名を指定して実行します。

03_02_add_tasklist


リクエストが成功したら、タスクワールド上での表示を確認しましょう。下のスクリーンショットのように、タスクリストがリアルタイムで追加されます。

03_03_added_tasklist

追加したタスクリストに、タスクを作成してみましょう。「Create a task API」で、先ほどのレスポンスの「list_id」を指定し、タスク名を設定します。

03_04_add_task

先ほどのタスクリストと同様、下のスクリーンショットのように、リアルタイムでタスクが追加されます。

03_05_added_task



APIで、タスクを更新!

それでは、APIにより、作成済みのタスクを更新してみましょう。

「Update a task API」で、タスクにポイント、ラベル色、タスク説明テキスト、開始日・期日を追加してみます。

※「API v1」では、日時をグリニッジ標準時で指定します。

更新に成功すると、レスポンスで更新後のタスクオブジェクトが返ってきます。

03_06_update_task


下のスクリーンショットのように、リアルタイムでタスクワールドのワークスペース上に、タスクの詳細情報が追加・更新されます。

03_07_updated_task


APIではこの他に、タグやメッセージの操作、タスクの移動なども行えます。

ぜひ色々と試してみてください!


Slack bot を作ってみましょう!

サンプルソースを使用して、タスクワールドの特定のタスクリストを操作する、“Slack App” を作成してみましょう。

このサンプルでは、ローカル環境の node で稼働するタスクワールド操作コマンドを、「ngrok」 経由で公開して「Slack(スラック)」と連携させます。

1. localhost 環境構築

まずは、ローカル環境を構築します。

実行環境は ubuntu16.04 / node.js v9.11.2 です。

サンプルソースを API リファレンス「Examples」の github リポジトリリンクから取得しましょう。

ソースを使いやすい場所に展開したら、「tw-slack-bot」ディレクトリへ移動して、関連モジュールをインストールし、node を起動します。

この段階では起動確認だけできれば良いので .env は port だけ設定しておきましょう。

$ cd tw-slack-bot
$ yarn init # 設定値はデフォルトでOK
$ npm install --save-dev
$ cp .env.sample .env
$ vi .env # とりあえず port だけ設定
$ node index.js


続いて、「ngrok」 をインストールして localhost を公開します。

「ngrok」 に関しては、こちらのSlack のチュートリアルも参考にしてみてください。

04_00_ngrok


2. Slack Appの作成とインストール

Slack Appを作成しましょう。作成方法はSlack 公式サイトでも公開されているので、ここでは、 slash command の追加手順だけ見てみましょう。

ブラウザで Slack にログインして、Slack App 構築ページを開き、「Create a slack app」を選択します。

04_01_slackapp_create

作成ウィンドウが開くので、 Slack Appの任意の名前と、 開発対象のSlack ワークスペースを指定します。

04_02_slackapp_create2

「Basic Information」 が開いたら、「Slash Command」をクリックします。次の画面では、「Create New Command」に進みましょう。

04_03_slackcmd_1

「Create New Command」 画面に移動したら、次のようにコマンド設定を入力します。

・Command: /twctask
・Request URL: https://[ngrok で割り当てられたドメイン名]/twctask


その他は任意で設定し、「Save」をクリックします。

04_05_slackcmd_3

作成したコマンドをSlack のワークスペースにインストールします。

「Install App」画面では、「Install App to Workspace」をクリックして、次の画面で「Authorize」へ進むとインストールが完了します。

04_06_install



3. localhost のコマンド設定

最後に、ローカルのソースを編集してコマンドが正しく動作するように設定しましょう。

サンプルソースは北米サーバー向けになっているので、「tw-slack-bot/taskworld.js」の API URL をアジア用に修正します。

04_10_code


前述のステップで、「port」 を設定した 「.env」 に、今度は Slack と Taskworld API の設定を追加します。

Slack の情報はこの3つです。

・CLIENT_ID
・CLIENT_SECRET
・VERIFICATION_TOKEN


Slack の情報は「App Credentials」で確認します。

Slack のコマンド管理画面を開いて下の方にスクロールすると「App Credentials」の欄があるので、そこから必要事項をコピーして .env に記述します。

04_11_credential


タスクワールドの情報は4件です。操作対象のタスクリストに関する情報と、認証トークンを記述しましょう。

・ACCESS_TOKEN: Auth API で取得した access_token
・SPACE_ID - ID: ワークスペース ID
・PROJECT_ID: プロジェクト ID
・LIST_ID: 対象のタスクリスト


.env を更新したら node を再起動します。


4. コマンドを実行する

作成したコマンドをSlack から実行してみましょう。

04_12_cmd_exe

そうすると、下のスクリーンショットのように、タスクワールド上でタスクが新たに追加されます。

04_13_result


この他にも、Taskworld APIを活用することにより、サンプルをベースにして様々な機能を作り込んでいくことが可能です。

ぜひ色々と試してみてください!


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

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

1-cR7Xny-Rt1dGa1JGiexWBw

1-LXIE6IOdez6aMNcva6C6Bg

〜通知をさらに通知できる安心感がオススメ!〜

タスクワールドのワークスペース上では、常に様々なプロジェクト・タスクが、メンバーにより進行されますが、各案件の細かい要素を見落とさないためには、先日リリースされた「タスクのカスタムリマインダー機能」(本機能に関しての記事はこちら)がとても便利。

main

この「タスクのカスタムリマインダー」に加え、新たなリマインダー機能「スヌーズ通知」が、今月リリースされました。

本日は、この新機能に関して駆け足で見ていきましょう。

Let's スタート!

------


1

上は、参加する特定のワークスペース内の全てのプロジェクトを管理できるページです。このページに限らず、全ページで表示される画面左のサイドバーにあるベルのアイコンをクリックすると、自分が関連する件の通知を一括確認できる「通知ページ」に移動できます。

「通知ページ」は下の様な感じです。

2

3

「スヌーズ通知」を設定したい案件にマウスのカーソルを載せると、下の様に複数のアイコンが表示されます。時計の形をしたアイコンをクリックしましょう。

4

時計の形をしたアイコンをクリックすると、下の様に、スヌーズ通知がされるタイミングを設定するメニューが表示されます。

5

スヌーズ通知が設定されると、対象案件の通知が設定されたタイミングにて、タスクワールドアプリ、または、タスクワールドを開いているブラウザーを介して行われます。

実際の「スヌーズ通知」は下の様な感じです。

8
タスクワールドアプリ内でのスヌーズ通知

さてさて...。

最後に、設定済みのスヌーズ通知をまとめて確認する方法を見てみましょう。

下の画面の赤い矢印が指している「スヌーズ設定中」をクリックすると、スヌーズ通知をまとめて確認できるページを開く事ができます。

6

7

以上、新機能「スヌーズ設定」に関してでした。

ぜひご活用ください!

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

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

1-cR7Xny-Rt1dGa1JGiexWBw

1-LXIE6IOdez6aMNcva6C6Bg

〜ツールとしての自由度を高めるエクスポートが便利!〜

プロジェクト管理ツールが導入され、その利用が深まっていくと、様々なデータがツール内に蓄積されていきます。

タスクワールドでは、タスク単位でのチームメンバー間のチャット、アップロードされたファイル、プロジェクト進行の細かな経過などを瞬時に絞り込み表示することが可能であり、まさに、使い込めば使い込むほど強力さを増していく、「チームのデータベース」としての側面も持つツールと言えます。

main

タスクワールドに蓄積されていく情報は、そのデータ出力機能を使う事により、タスクワールドから離れた場所で管理をすることも可能です。

本日は、このデータ出力に関して駆け足で見ていきましょう。

Let's スタート!

------

1

上は、参加する特定のワークスペース内の全てのプロジェクトを管理できるページです。この中のプロジェクトの一つ、「タイムマシン企画2018」を開いてみましょう。

2

このプロジェクトのメインページが開きました。上のイメージの赤い矢印が指しているアイコンをクリックして、このプロジェクトのプロパティを開きましょう。

3

プロパティが開きました。「CSVをエクスポート」というボタンをクリックすると、このプロジェクト内のデータを、CSVファイル形式でダウンロードする事ができます。

ダウンロードされたCSVファイルを開いてみましょう。

Screen Shot 2018-05-31 at 07.19.40

この様に、この特定のプロジェクトに関してのデータが、テーブル形式で表示されます。

このCSVエクスポートでは、各タスク内のコメント(=チャット)、アップロードされたファイルへのリンク、タスクの完了ステータス、各タスクのタイム計測合計値など、プロジェクトに関してのほとんどの情報が出力対象となっています。

さて...。

このプロジェクト単位でのCSVファイル形式でのデータ出力に加え、より広範に、ワークスペース単位でもデータ出力を行なう事が可能です。では、その手順を見ていきましょう。

下のイメージの様に、プロフィール画像をクリックして、アカウント設定画面に移ります。

5

6

アカウント設定ページの「あなたのタスクワールドデータ」タブにある、緑色のボタンをクリックします。このボタンをクリックすると、データファイルへのダウンロードリンク付きのメールが、アカウントのメールアドレス宛に送信されます。(下のイメージは、そのメールの本文です)

7

ダウンロードしたファイルはJSON形式となっており、次のように複数のデータファイルに分けられています。

8


以上、「データ出力機能」に関してでした。

新しいプロジェクト管理の選定をしているチームにとっては、「データのツール外での利用が可能」である事は、導入を決める上での大きなポイントとなるのでは?


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

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

1-cR7Xny-Rt1dGa1JGiexWBw

1-LXIE6IOdez6aMNcva6C6Bg

〜タスクごとにリマインド設定が可能になりました!〜

タスクワールドのワークスペース上では、常に様々な仕事案件がタスクとして稼働しています。各タスクには、「開始日、期日、担当者」を設定しておく事が推奨されており、少なくともその3つを設定しておく事は、チームとして効率よくプロジェクトを進行する上での大きなポイントとなります。

main


各タスクを確実に攻略していくためには、漏れのないプロジェクト管理が必要となりますが、それを協力にサポートしてくれる、タスクのカスタムリマインダー機能がリリースされました。

本日は、この新機能に関して駆け足で見ていきましょう。

Let's スタート!

------


1

上は、参加する特定のワークスペース内の全てのプロジェクトを管理できるページです。この中のプロジェクトの一つ、「ガーデニング企画」を開いてみましょう。

2

「To Do」、「実行中」、「完了済み」の3段階による、いわゆる「カンバン形式」によるプロジェクト管理で、様々なタスクが動いている事がわかります。

それでは、別のプロジェクト(「横浜支社プロジェクト」)も開いてみましょう。

3

このプロジェクトでは、各タスクが担当者ごとのタスクリストに分けて管理されている事がわかります。

それでは、下の画面の赤い矢印が指しているアイコンをクリックして、「オーバービュー」ページに移動しましょう。

44

4

上の画面「オーバービュー」では、プロジェクトを横断したかたちで、ワークスペースの最新状況を様々なアングルから確認する事ができます。

期限がオーバーしたタスクや、期限が差し迫っている期限が一覧で表示されています...。

これはよろしくない感じ...。

少し前置きが長くなってしまいましたが、タスクの期限オーバーを少しでも防ぐためにも、「カスタムリマインダー機能」を、どんどん活用していきましょう。

それでは、「タイムマシン企画2018」というプロジェクトを開いて、この新機能の使用方法を見ていきましょう。

5

上のように、タスクカードをマウスで左クリックして、その詳細を画面右側に表示させましょう。

6

「リマインド」をクリックすると、開始日・期日設定に似た、設定ウインドウが表示されます。

7

上の画面のように、タスクに関してのリマインダーが送信される日時に加え、誰にそのリマインダーを送るのかを選ぶ事ができます。

8

タスクのカスタムリマインダーは、各タスクにつき同時に最大で2つまで設定することが可能です。

リマインダーは、「ブラウザーからの通知」、「タスクワールド上での通知」、「メール通知」の3つのパターンで送られます。


9
ブラウザーからの通知

10
タスクワールド上での通知

11
メールでの通知

設定しておいた日時に通知が実施されると、そのリマインダー設定はタスク詳細画面から消えますが、リマインドが行われたことに関しては、アクティビティログに記録されます。

12
タスクのアクティビティログ

13
プロジェクトのアクティビティログ


以上、新機能「カスタムリマインダー」に関してでした。

プロジェクト管理の効率アップにご活用ください!

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

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

1-cR7Xny-Rt1dGa1JGiexWBw

1-LXIE6IOdez6aMNcva6C6Bg

↑このページのトップヘ