Skip to content

Problem sending files via HTTP request for TestRail. #141

@fabio-morais-Exaud

Description

@fabio-morais-Exaud

Hello.

I'm working on automating e2e test results to Testrail and I'm currently having problems sending files as attachments.

Testrail API allows to send files via a multi-part/form-data, but I having trouble writing the request.

Here is the code:

 /**
   * Post request to upload a file using multipart/form-data
   * See https://www.npmjs.com/package/unirest#request-form-methods
   * See https://support.gurock.com/hc/en-us/articles/7077196481428-Attachments#addattachmenttorun
   * @param api - command to pass in the HTTP request
   * @param attachment - the attachment Interface that contains info of the screenshot
   * @param callback - function that executes after getting the result from the HTTPS request.
   * @param error - function to execute after error occours
  */
  private _sendFile(api: String, attachment: TestRailAttachment,  callback: Function, error?: Function) {
    console.log(attachment);
    //let form = new FormData();
    //form.append('attachment', fs.createReadStream(attachment.path));
    //console.log(form);
    request("POST", `${this.base}/api/v2/${api}`)
    .headers({
      'content-type': 'multipart/form-data'
    })
    .field({'parameter' : 'value'})
    .attach({
      'attachment': fs.createReadStream(attachment.path) 
    })
    .auth( this.options.username, this.options.password)
    .then((res) => {
      console.log(res.body)
      callback(res.body);
    });
  }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions