首页 > 解决方案 > 通过 http post 请求发送附件文件

问题描述

我正在尝试将附件文件从 youtrack 发送到另一个系统(在此示例中为 trello)而不使用图像 url 但其内容

我无法在 youtrack 中将其作为图像 url 发送,因为我的系统已关闭并且只有那些拥有 vpn 的人才能访问。

问题在于从工作流中的附件内容中读取 inputStream。我完全不知道该怎么做,youtrack文档还没有触及它(据我的研究)

代码:(截断不重要的部分)

//...

exports.rule = entities.Issue.onChange({
  //...
  action: function(ctx) {
    //...
    var link = '/1/cards/' + issue['trelloIssueId'] + '/attachments';

    issue.comments.added.forEach(function(comment) {
      comment.attachments.forEach(function(attachment) {        
        var response = connection.postSync(link, {
          name: attachment.name,
          file: attachment.content,
          mimeType: attachment.mimeType
        });

        //...
      });
    });
  },
  requirements: {}
});

从这里我得到了错误:

TypeError: invokeMember (forEach) on jetbrains.youtrack.workflow.sandbox.InputStreamWrapper@677a561f failed due to: Unknown identifier: forEach

我如何准备内容才能使用 postSync 方法发送它?

标签: inputstreamyoutrack

解决方案


看起来您尝试迭代issue.comments.added而应该执行循环,因为按照以下文档页面建议issue.comments没有added问题评论的关键: https ://www.jetbrains.com/help/youtrack/devportal/v1-问题.htmlSet

请让我知道这是否有效。


推荐阅读