认证与配置

工具运行需要三样东西:Jira 站点地址、凭据,以及要导出的项目标识。每一项都可以通过命令行选项或环境变量提供。

凭据

通过环境变量传递凭据,这样它们不会出现在进程列表和 shell 历史中。工具不会把凭据写入任何地方,也不会打印出来。

使用某个账户的邮箱地址,以及为该账户创建的 API 令牌。

export JIRA_URL=https://your-site.example
export JIRA_EMAIL=[email protected]
export JIRA_API_TOKEN=your_api_token_here

使用个人访问令牌(需要 Data Center 8.14 或更高版本)。

export JIRA_URL=https://jira.example.com
export JIRA_PAT=your_personal_access_token_here

工具会向站点查询(/rest/api/2/serverInfo)它属于哪一种类型,并拒绝另一种类型的凭据。如果同时设置了邮箱和令牌变量以及 JIRA_PAT,工具会因为无法判断而拒绝运行:请取消设置属于另一种站点类型的变量。

使用专用账户

为迁移单独创建一个账户,并授予它对待迁移项目的读取权限。迁移完成后可以删除令牌。该账户不需要在 Jira 中修改任何内容。

账户所需的权限列在概览页面。

配置项

配置项 选项 环境变量 说明
站点地址 --url JIRA_URL 站点的基础地址。
Cloud 邮箱 --email JIRA_EMAIL 仅 Cloud。
Cloud API 令牌 --api-token JIRA_API_TOKEN 仅 Cloud。建议使用环境变量。
Data Center 令牌 --pat JIRA_PAT 仅 Data Center。建议使用环境变量。
项目 --project KEY JIRA_PROJECTS 可重复指定,或用逗号分隔。
导入包中的站点名称 --instance NAME 无 见下文。

选项优先于环境变量。工具本身没有配置文件:如果你把这些值保存在文件里,运行前先把它加载到 shell 环境中,并确保该文件只有你本人可读。

每次运行必须提供 --url(或 JIRA_URL)、凭据、至少一个项目,以及 --out。缺少任何一项,工具都会以退出状态 2 终止,并提示需要补充什么。

站点名称(--instance)

每个导入包都会记录它来自哪个系统、哪个安装实例。对本工具来说,系统是 jira,安装实例就是 站点名称:默认取 --url 的主机名(如果站点部署在某个路径下,则加上该路径)。

Specivo 会在这个名称下记住每条 Jira 记录对应到了哪条 Specivo 数据。正因如此,你可以:

  • 重复加载同一份导出而不产生重复数据;
  • 日后再次导出该站点,只补充新增内容;
  • 逐个项目导出,各部分之间仍能相互关联。

因此,对同一个 Jira 站点的每次导出都要使用相同的站点名称。只要每次给的 --url 一致,默认值就已经满足这一点。以下情况需要自行设置 --instance:两次导出之间地址发生了变化(同一个 Jira 换了主机名),或者要把两个不同的 Jira 站点迁入同一个 Specivo,需要区分开来。

输出位置

--out PATH 指定导入包的写入位置:一个新建或空的目录,或者以 .zip 结尾的路径(也可以加 --zip)。工具不会覆盖已有的导入包,也不会写入非空目录。