ニュース一覧

更新情報

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

ベースマキナの更新情報をお届けします。

承認後の自動実行

レビュー依頼が承認されたときに、アクションを自動で実行できるようになりました。

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

承認後に自動実行されたレビュー依頼の詳細画面

レビュー設定での設定方法

レビュー設定の各環境の設定に「承認後の自動実行」を追加しました。以下の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アクション)」をご覧ください。

お問い合わせ

管理画面のリプレイスから、組織のAI活用まで

ベースマキナの導入、テクサポAIのトライアル、AIネイティブ化の相談。まずは現在の課題をお聞かせください。