更新情報
レビュー依頼の承認後にアクションを自動実行できるようになりました!

ベースマキナの更新情報をお届けします。
承認後の自動実行
レビュー依頼が承認されたときに、アクションを自動で実行できるようになりました。
これまでは、レビュー依頼が承認されたあとに、レビュー依頼の作成者(または承認者)が改めてアクションを実行する必要がありました。「承認後の自動実行」を設定すると、承認の完了と同時にアクションが実行されるため、承認後の実行漏れや、承認から実行までのタイムラグをなくせます。

レビュー設定での設定方法
レビュー設定の各環境の設定に「承認後の自動実行」を追加しました。以下の4つから選択できます。
-
必ず手動で実行:承認されてもアクションは自動で実行されません。承認後に手動で実行します
-
申請単位で選択(デフォルトでOFF):レビュー依頼の作成者が、レビュー依頼フォームの「承認後に自動実行する」で自動実行するかどうかを依頼ごとに選択できます。初期値は無効です
-
申請単位で選択(デフォルトでON):レビュー依頼の作成者が、レビュー依頼フォームの「承認後に自動実行する」で自動実行するかどうかを依頼ごとに選択できます。初期値は有効です
-
必ず承認と同時に実行する:すべてのレビュー依頼で、承認の完了と同時にアクションが自動で実行されます。レビュー依頼の作成者は自動実行するかどうかを変更できません

環境ごとに設定できるため、例えば開発環境では「必ず承認と同時に実行する」、本番環境では「申請単位で選択(デフォルトでOFF)」といった使い分けができます。
レビュー依頼ごとの指定
「申請単位で選択」を設定した場合は、レビュー依頼フォームに「承認後に自動実行する」が表示され、依頼ごとに自動実行するかどうかを選べます。「必ず手動で実行」を設定した場合、レビュー依頼フォームに「承認後に自動実行する」は表示されません。

「承認後の自動実行」の設定は、レビュー依頼の作成時点の内容がレビュー依頼ごとに適用されます。設定を変更しても、作成済みのレビュー依頼には反映されません。
自動実行の挙動
自動実行は、レビュー依頼の作成者の権限で行なわれます。作成者のユーザーが無効化されているなど、作成者がアクションを実行できない状態になっている場合、アクションは自動で実行されません。この場合、レビュー依頼は承認された状態のまま維持され、これまでどおり手動で実行できます。
自動実行されたアクションはジョブとして非同期に実行されます。実行結果はジョブの一覧、またはジョブの詳細画面から確認できます。レビュー依頼の詳細画面からもジョブの一覧へ移動できます。
組み込み関数・公開APIからの指定
組み込み関数createReviewRequest(ビュー・JavaScriptアクション)や公開APIで作成するレビュー依頼でも、自動実行するかどうかを依頼ごとに指定できます。指定にはoptions.autoExecuteOnApproval(公開APIではauto_execute_on_approval)を使用します。指定しない場合は「承認後の自動実行」の設定に従います。
以下は、ビューのフォームから承認後に自動実行されるレビュー依頼を作成する例です。
import {
createReviewRequest,
showSuccessToast,
showErrorToast,
Form,
TextInput,
Button,
} from "@basemachina/view";
const App = () => {
const handleSubmit = async ({ values }) => {
try {
const { reviewRequestId } = await createReviewRequest(
"review-test",
{ message: values.message },
{
description: values.description,
// 承認されたら依頼者の権限で自動実行する
autoExecuteOnApproval: true,
},
);
showSuccessToast("レビュー依頼: " + reviewRequestId + " を作成しました");
} catch (err) {
showErrorToast(err.message);
}
};
return (
<Form initialValues={{ message: "", description: "" }} onSubmit={handleSubmit}>
<TextInput name="message" label="メッセージ" />
<TextInput name="description" label="レビューの説明" />
<Button type="submit" label="レビューを依頼する" />
</Form>
);
};
export default App;
公開APIの場合は、レビュー依頼の作成リクエストのボディにauto_execute_on_approvalを指定します。
{
"action_id": "review-test",
"arguments": { "message": "hello" },
"auto_execute_on_approval": true
}
なお、「必ず手動で実行」が設定されたアクションでtrueを、「必ず承認と同時に実行する」が設定されたアクションでfalseを指定するとエラーになります。
詳細はドキュメントの「レビュー設定」の「承認後の自動実行」をご参照ください。組み込み関数については「createReviewRequest(ビュー)」「createReviewRequest(JavaScriptアクション)」をご覧ください。