You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

YouTrack工作流:如何为自定义克隆命令指定项目参数?

在YouTrack中创建带参数的自定义克隆命令

我之前也踩过这个坑,YouTrack的actionFunction里没法直接拿到原始的命令参数字符串,得先在命令定义环节做好参数配置才行。下面是一步步的解决办法:

1. 给自定义命令添加参数配置

创建自定义命令时,找到「参数」设置区域(就在命令触发词输入框的下方),添加一个参数:

  • 参数类型选「项目」(这样用户输入时会有项目自动补全,还能避免输入不存在的项目),如果要支持自由文本参数就选「文本」
  • 参数名称设为targetProject(这个名字要和后面代码里的调用对应上)
  • 可以补充提示文本,比如「输入要克隆到的目标项目名称」

2. 在actionFunction中获取并使用参数

配置好参数后,就能通过ctx.parameters拿到用户输入的参数值了。这里给你一个完整的克隆问题代码示例:

function(ctx) {
  // 从参数中获取目标项目
  const targetProject = ctx.parameters.targetProject;
  
  // 先校验参数是否存在
  if (!targetProject) {
    return "⚠️ 请指定要克隆到的目标项目!";
  }
  
  // 获取当前要克隆的源问题
  const sourceIssue = ctx.issue;
  
  // 执行克隆操作,用YouTrack内置的clone方法
  return sourceIssue.clone({
    project: targetProject,
    summary: sourceIssue.summary,
    description: sourceIssue.description,
    // 按需添加更多要克隆的字段,比如标签、优先级等
    tags: sourceIssue.tags,
    priority: sourceIssue.priority
  }).then(clonedIssue => {
    return `✅ 问题已成功克隆到项目 ${targetProject.name}!克隆链接:${clonedIssue.url}`;
  }).catch(error => {
    return `❌ 克隆失败:${error.message}`;
  });
}

3. 命令的实际使用

配置完成后,用户在问题的命令输入框里输入clone_to ProjectB,YouTrack会自动把ProjectB映射到你定义的targetProject参数中,代码就能正确识别并执行克隆操作了。

额外提示

  • 如果选「项目」类型参数,用户输入时会有智能补全,体验更流畅,还能避免无效输入
  • 要确保执行命令的用户拥有「克隆问题」和「访问目标项目」的权限,否则会出现权限报错
  • 如果需要多个参数,只需要在命令配置里添加多个参数项,然后在代码里通过ctx.parameters.参数名分别获取即可

内容的提问来源于stack exchange,提问作者eresonance

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:04:07