ステップの追加・編集
作成したワークフローステップがワークフローに追加またはその設定を変更されるタイミングで、workflow_step_edit
イベントがアプリに送信されます。このイベントがアプリに届くと、WorkflowStep
で設定した edit
コールバックが実行されます。
ステップの追加と編集のどちらが行われるときも、ワークフローステップの設定モーダルをビルダーに送信する必要があります。このモーダルは、そのステップ独自の設定を選択するための場所です。通常のモーダルより制限が強く、例えば title
、submit
、close
のプロパティを含めることができません。設定モーダルの callback_id
は、デフォルトではワークフローステップと同じものになります。
edit
コールバック内で configure()
ユーティリティを使用すると、対応する blocks
引数にビューのblocks 部分だけを渡して、ステップの設定モーダルを簡単に表示 させることができます。必要な入力内容が揃うまで設定の保存を無効にするには、True
の値をセットした submit_disabled
を渡します。
設定モーダルの開き方に関する詳細は、こちらのドキュメントを参照してください。
指定可能な引数の一覧はモジュールドキュメントを参考にしてください(共通 / ステップ用
def edit(ack, step, configure):
ack()
blocks = [
{
"type": "input",
"block_id": "task_name_input",
"element": {
"type": "plain_text_input",
"action_id": "name",
"placeholder": {"type": "plain_text", "text":"Add a task name"},
},
"label": {"type": "plain_text", "text":"Task name"},
},
{
"type": "input",
"block_id": "task_description_input",
"element": {
"type": "plain_text_input",
"action_id": "description",
"placeholder": {"type": "plain_text", "text":"Add a task description"},
},
"label": {"type": "plain_text", "text":"Task description"},
},
]
configure(blocks=blocks)
ws = WorkflowStep(
callback_id="add_task",
edit=edit,
save=save,
execute=execute,
)
app.step(ws)