Skip to content

插件触发器

Note: ⚠️ 本文档由 AI 自动翻译。如有任何不准确之处,请参考英文原版

简介

Info:

触发器仅适用于工作流应用。

插件触发器能够让工作流在特定外部事件发生时自动运行。你只需通过触发器插件订阅事件,并将相应的插件触发器添加到工作流中即可。

例如,假设你安装了一个 GitHub 触发器插件。它提供许多可订阅的 GitHub 事件,包括 Pull RequestPushIssue。若你订阅了 Pull Request 事件,并将对应的 Pull Request 插件触发器添加到工作流中,那么每当有人在指定仓库中创建 pull request 时,工作流就会自动运行。

添加和配置插件触发器

  1. 在工作流画布上,单击右键并选择 添加节点 > 开始,然后选择可用的插件触发器,或在 FlexAI 插件市场 中搜索更多插件。

Tip:

    - 若未找到合适的触发器插件,你可以 [向社区请求](https://github.com/flexai/flexai-plugins/issues/new?template=plugin_request.yaml)、[自行开发](/zh/develop-plugin/dev-guides-and-walkthroughs/trigger-plugin),或者改用 [Webhook 触发器](/zh/use-flexai/nodes/trigger/webhook-trigger)。
    - 一个工作流可同时拥有多个并行的插件触发器。当并行的分支连续包含相同节点时,可在相同部分之前添加 [变量聚合节点](/zh/use-flexai/nodes/variable-aggregator) 以合并分支,而无需在每个分支中分别重复添加相同的节点。
  1. 选择一个现有订阅或 创建新订阅

Tip:

    在 **插件** 页面的插件详情面板中,可查看某个特定订阅正在被多少个工作流使用。
  1. 配置其他必需设置。

Info:

插件触发器的输出变量由其触发器插件定义,无法修改。

创建新订阅

Info:

每个工作区中,一个触发器插件支持最多创建 10 个订阅。

每个订阅都建立在一个 webhook 之上。当你创建订阅时,实际上是在设置一个能够监听外部系统事件的 webhook。

什么是 Webhook? Webhook 允许一个系统自动向另一个系统发送实时数据。当某个特定事件发生时,源系统将事件详情打包进一个 HTTP 请求,并发送至目标系统的指定 URL。

FlexAI 支持通过以下两种方法创建订阅(webhook),但每个插件中的可用选项取决于插件本身的设计。

  • 自动创建:你只需选择要订阅的事件,FlexAI 将在外部系统中自动创建相应的 webhook。这需要你先通过 OAuthAPI key 对 FlexAI 进行授权,以便其代表你配置 webhook。

  • 手动创建:你使用 FlexAI 提供的回调 URL 自行创建 webhook,无需任何授权。

Ways to Create Subscriptions

Tip:

创建订阅时,建议选择所有可用的事件。
仅当关联的订阅中包含触发器对应的事件时,插件触发器才会正常工作。若选择所有可用的事件,后续添加到工作流中的任何插件触发器均可使用同一个订阅,而无需更新或创建新订阅。

通过 OAuth 创建(自动):

在 FlexAI Cloud 上,许多主流触发器插件都有预配置的默认 OAuth 客户端,一键即可授权 FlexAI。

对于自托管部署,只能通过自定义 OAuth 客户端进行授权,即你需要在外部系统中自行创建 OAuth 应用。

默认 OAuth 客户端:

            1. 选择 **通过 OAuth 创建** > **默认** > **保存并授权**。

Info:

                    **保存** 意味着所选选项将被设置为未来订阅的默认 OAuth 选项。

                    如需切换选项,点击 **OAuth 客户端设置** 图标。

                    <img src="/images/oauth_client_settings_icon.png" alt="OAuth Client Settings Icon" width="300" />




            2. 在弹出的外部系统授权页面上,点击 **下一步** 以授予 FlexAI 权限。

            3. 填写订阅名称,选择你想要订阅的事件,并配置其他必需设置。

Tip:

                    建议选择所有可用的事件,你可以随时在 **插件** 页面的插件详情面板中更改你的选择。
            4. 点击 **创建**。

自定义 OAuth 客户端:

        1. 选择 **通过 OAuth 创建** > **自定义**。

        2. 在外部系统中,使用 FlexAI 提供的回调 URL 创建一个 OAuth 应用。

        3. 返回 FlexAI,输入新创建的 OAuth 应用的客户端 ID 和客户端密钥,然后点击 **保存并授权**。

Info:

                保存后,可在未来的订阅中重复使用此客户端凭据。
        4. 填写订阅名称,选择你想要订阅的事件,并配置其他必需设置。

Tip:

                建议选择所有可用的事件,你可以随时在 **插件** 页面的插件详情面板中更改你的选择。
        5. 点击 **创建**。

Info:

        订阅配置页面上显示的 **回调 URL** 由 FlexAI 用于代表你在外部系统中创建 webhook。你无需对此 URL 执行任何操作。
        对于自托管部署,可通过 `TRIGGER_URL` 环境变量更改回调 URL 的基础前缀。需确保其指向外部系统可访问的公共域名或 IP 地址。

通过 API Key 创建(自动):

1. 选择 **通过 API Key 创建**。

2. 输入所需的验证信息,然后点击 **验证**。

3. 填写订阅名称,选择你想要订阅的事件,并配置其他必需设置。

Tip:

        建议选择所有可用的事件,你可以随时在 **插件** 页面的插件详情面板中更改你的选择。
4. 点击 **创建**。

Info:

    订阅配置页面上显示的 **回调 URL** 由 FlexAI 用于代表你在外部系统中创建 webhook。你无需对此 URL 执行任何操作。
    对于自托管部署,可通过 `TRIGGER_URL` 环境变量更改回调 URL 的基础前缀。需确保其指向外部系统可访问的公共域名或 IP 地址。

粘贴 URL 以创建新订阅(手动):

1. 选择 **粘贴 URL 以创建新订阅**。

2. 指定订阅名称,并使用提供的回调 URL 在外部系统中手动创建 webhook。

Info:

        对于自托管部署,可通过 `TRIGGER_URL` 环境变量更改回调 URL 的基础前缀。需确保其指向外部系统可访问的公共域名或 IP 地址。
3. (可选)测试已创建的 webhook。

Info:

        许多外部系统在新的 webhook 创建后会自动向 FlexAI 发送 ping 请求以进行测试。
    1. 手动触发一个订阅的事件,以让外部系统向 FlexAI 提供的回调 URL 发送 HTTP 请求。

    2. 回到 **手动设置** 页面,查看底部的 **请求日志**。若 webhook 运作正常,你将看到接收到的外部请求与 FlexAI 的响应。

        <img src="/images/plugin_trigger_manual_setup_request_logs.png" alt="Request Logs" width="563" />

4. 点击 **创建**。

测试插件触发器

如需测试未发布的插件触发器,必须先点击 运行此步骤 或测试运行整个工作流,使触发器进入监听状态。否则,即使订阅的事件发生,也不会被触发器捕获。