Skip to content

连接 GitHub 仓库

你可以将 GitHub 仓库连接到 Stately Studio 中的新项目,从而保持 GitHub 和 Stately Studio 之间的更新同步。连接 GitHub 仓库允许你从 GitHub 导入现有的机器,并将对机器的更改作为拉取请求推送回你的仓库。

连接 GitHub 仓库​

使用项目仪表板中的 连接 GitHub 仓库 按钮开始连接 GitHub 仓库。设置 GitHub 仓库为连接项目有三个步骤:

  1. 选择仓库。你可以根据 GitHub 权限选择仓库。
  2. 选择分支。你可以选择仓库中的任何分支。
  3. 选择要同步的文件。你可以同步任何 JavaScript 或 TypeScript 文件,但只有 XState 机器会被导入。

自动同步​

启用 自动同步 将在每次你在 Studio 中打开或刷新项目时自动获取来自连接仓库的最新更改。

从左侧抽屉底部的 仓库名称中的 GitHub 选项中禁用自动同步。

新文件路径​

你可以选择在连接项目中创建新机器时的新文件路径。这些机器将添加到仓库根目录的相对路径中。默认路径是 src/stately-studio,并将在你第一次将新机器添加到拉取请求时在仓库中创建。

创建拉取请求​

从左侧抽屉底部的 仓库名称中的 GitHub 选项中打开 GitHub 选项。你可以从 GitHub 选项中为对机器所做的任何更改创建拉取请求。

更新拉取请求​

如果你已经为机器创建了拉取请求,可以使用 Studio 中所做的任何更改更新拉取请求。从左侧抽屉底部的 仓库名称中的 GitHub 选项中打开 GitHub 选项并选择 更新拉取请求。

同步多个分支​

你可以将 GitHub 仓库中的多个分支同步到 Stately Studio 中的同一个项目。从左侧抽屉底部的分支名称中的 GitHub 分支选项中打开 GitHub 分支选项以选择其他分支。

同步在 Stately Studio 中创建的新机器​

在连接项目中在 Stately Studio 中创建新机器将会在你的机器列表中标记该机器为 未与 GitHub 同步。你可以通过从左侧抽屉底部的 仓库名称中的 GitHub 选项中创建拉取请求来同步机器与 GitHub 仓库。

你的新机器将添加到你选择的新文件路径中。

从 GitHub 同步对机器的更改​

如果你启用了自动同步,在你打开或刷新 Studio 中的项目时,任何对 GitHub 仓库所做的更改将同步到 Stately Studio 中的项目。

如果你没有启用自动同步,可以使用左侧抽屉底部的 仓库名称中的 GitHub 选项中的 立即同步 来同步对 GitHub 仓库所做的任何更改。

GitHub 权限​

使用 连接 GitHub 仓库 导入你的 GitHub 仓库或使用 GitHub URL 导入机器将提示你授予我们的 GitHub 集成访问你的 GitHub 仓库的权限。你可以选择 自动设置 或 个人访问令牌。

自动设置​

自动设置将启用对你的 GitHub 用户可以访问的所有仓库的访问权限。如果你需要更细粒度的控制,可以提供你自己的个人访问令牌。

GitHub 个人访问令牌​

为了更细粒度的控制,你可以提供个人访问令牌。你可以在 GitHub 账户设置中的开发者设置下创建个人访问令牌。

为了确保 GitHub 同步正常工作,你必须为你的个人访问令牌授予以下权限:

  • 内容:允许 读写 访问,以便 Stately Studio 可以导入你的机器并为在 Studio 中添加的机器创建文件。
  • 拉取请求:允许 读写 访问,以便 Stately Studio 可以为你创建拉取请求(可选)。

你可以随时从 Stately Studio 中的用户 设置 更新你的个人访问令牌。

从 GitHub URL 导入机器​

如果你想快速从 GitHub 文件导入一个或多个机器而不进行同步,可以从 GitHub URL 导入。

  1. 在 GitHub 上打开包含一个或多个机器的文件。
  2. 修改浏览器地址栏中的 URL,将 .com 替换为 .stately.ai。
  3. 编辑器将显示你导入的机器。
  4. 保存 机器以启用编辑,并在以后轻松找到你的机器。

从 GitHub URL 导入适用于任何分支中的文件,包括私人仓库、公共仓库和拉取请求中的文件。

拉取请求​

一旦你对导入的机器进行了更改,可以使用 创建拉取请求 按钮创建回到源 GitHub 仓库的拉取请求。如果你想从导入的机器创建拉取请求,需要提供GitHub 个人访问令牌。

书签小工具​

使用下面的书签小工具一键从 GitHub 导入单文件机器。

  1. 添加一个新的书签到你的浏览器
  2. 将书签的网页地址设置为以下内容: javascript:(function(){ location.href = 'https://github.stately.ai/' + window.location.pathname;})();
  3. 在查看包含一个或多个机器的 GitHub 文件时点击书签小工具,将该机器导入到 Stately Studio。

或者将以下书签小工具链接拖到你的书签栏:

GitHub → Stately

示例​

当你的机器托管在 GitHub 上时: https://github.com/username/repo/blob/main/apps/superMachine.ts,将 URL 更新为 https://github.stately.ai/username/repo/blob/main/apps/superMachine.ts,Stately Studio 将开始导入。