如何创建可执行YouTrack克隆工单等命令的外部链接?
YouTrack 2021.3 版本固定模板链接解决方案
方案1:直接使用原生克隆跳转链接(无需AJAX,可直接放在href中)
这是最符合需求的轻量方案,无需每次更新链接,仅需维护模板Issue的ID即可,链接格式如下:
<a href="[你的YouTrack域名]/newIssue?clone=[模板Issue编号]">模板1</a>
- 示例:如果你的模板Issue编号是
issue-1,域名是youtrack.example.com,写法为:
<a href="https://youtrack.example.com/newIssue?clone=issue-1">模板1</a>
- 效果:用户点击链接后会直接跳转到YouTrack的新建Issue页面,所有模板Issue的字段(标题、描述、标签、自定义字段等)都会自动预填,用户确认后点击保存即可完成创建。
- 优势:后续你只需要更新对应编号的模板Issue内容,所有使用该链接的地方都会自动获取最新版本,无需修改外部网页的链接。
方案2:AJAX静默创建(无需用户跳转)
如果你需要用户点击后直接完成Issue创建,无需跳转到YouTrack页面,可以使用AJAX调用官方接口实现,注意需要提前配置好YouTrack的CORS跨域规则,或者通过你自己的后端代理转发请求:
- 请求信息:
- 接口地址:
[你的YouTrack域名]/api/issues - 请求方法:
POST - 请求头必须携带:
Authorization: Bearer [你生成的YouTrack永久访问令牌] Content-Type: application/json - 请求体示例:
{ "cloneFrom": {"id": "模板Issue的实体ID"}, "summary": "可选,自定义覆盖标题", "description": "可选,自定义覆盖描述" }
- 模板Issue的实体ID可以在Issue页面地址栏中获取,也可以调用
/api/issues/[issue编号]接口查询返回的id字段。
注意事项
- 请确保模板Issue对所有工单填报人员开放了读取权限,否则克隆操作会报错
- 你之前尝试调用
/api/commands/execute接口不生效,是因为该接口仅接受POST请求,且需要携带有效的认证凭证,无法直接通过GET方式放在a标签的href属性中触发
内容的提问来源于stack exchange,提问作者SomeRandomDev
相关产品推荐
相关产品推荐

