タスク機能の使い方
回答済み【利用環境】
Kompira:1.5.5post2
【実現したいこと】
タスク機能の概要と使いかたを知りたい
【試したこと、実現したいことの詳細】
Kompiraのヘッダ部メニューに「タスク一覧」というものがありますが、マニュアルに記載がないのでどんな機能なのかわかりません。
機能の内容と、使いかたを教えていただけないでしょうか。
-
正式なコメント
お問い合わせありがとうございます。
「タスク機能」は、ジョブフロー実行中にユーザの判断・確認を待つための機能です。
この機能を用いると、例えば下記のようなジョブフローを作成することができます。
- Kompiraでいくつかあるパッチの中から適用先に最適な候補を自動選択する
- Kompira自動選択されたパッチを担当者が確認する
- OKならばKompiraで適用処理まで行う
- NGの場合は中断する(その後担当者が手動で実施するorパッチの再選択をする、など)
下記に使い方の例として2〜4を実現するためのジョブフローを掲載します。
※注意※
タスク機能はKompira 開発初期にデモ・サンプル用に実装されたもので、機能的にもドキュメントも十分なものではありません。
将来のバージョンでは機能が廃止、もしくは見直される可能性がございますので、 あらかじめご承知おきください。
# ①タスクを作成
[/task.add: name=‘TEST’, title=‘TEST’, message=‘TEST’] ->
[task = $RESULT] ->
# ②選択肢を設定
[['はい', 'いいえ'] >> task.action] ->
# ③ユーザにタスクの確認依頼をする
mailto(to='sample@sample.co.jp', subject='TEST', body='$task を確認してください') ->
# ④ユーザーが「はい」「いいえ」を押下するまで待つ (timeoutは秒で指定)
<task: timeout=600> =>
{if $STATUS != 0|
print(‘$task はタイムアウトしました’) ->
[task.close: cancel=true] ->
return()
} ->
# ⑤ユーザの選択結果を取得
[result = $RESULT] ->
print('ユーザーが「$result」を選択しました') ->
# ⑥タスクをclose
[task.close]
# 以下、resultの内容に従って処理を分岐させていく①タスクを作成
[/task.add: name=‘TEST’, title=‘TEST’, message=‘TEST'] ->
上記を実施すると、ヘッダメニュー>タスク一覧画面のリストに、作成したタスクが追加されます。
②選択肢を設定
[['はい', 'いいえ'] >> task.action] ->
上記を実行した後、タスクの詳細画面を開くと、①で指定したタイトル、メッセージに加え、②で指定した選択肢のボタンが表示されます。
④ユーザーが「はい」「いいえ」を押下するまで待つ
<task: timeout=600> =>
ユーザがボタンを押すまで待機します。この時timeoutを指定することも可能です(単位は秒)。
ユーザがタスク詳細画面のボタンを押すと、タスクのステータスが「処理中」となり、ジョブフローの実行が先に進みます。
⑤ユーザの選択結果を取得
[result = $RESULT] ->
ユーザの押したボタンに対応する文字列を$RESULTで取得します。
この変数に格納された文字列によって、以降の処理を分岐することができます。
⑥タスクをクローズする
[task.close]
タスクをクローズします。これでタスクのステータスが完了となります。
なお、タイムアウトした場合など、タスクのステータスを「キャンセル」として終了したい場合は下記のように記述します。
[task.close: cancel=true]
参考になさってみてください。
コメントアクション
サインインしてコメントを残してください。
コメント
1件のコメント