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 将开始导入。