function createRelease()

in scripts/github-release.js [36:75]


function createRelease(token) {
  const releaseUrl = `${GITHUB_URL}/releases`
  const urlObj = url.parse(releaseUrl, false)
  const options = Object.assign({}, urlObj, {
    method: 'POST',
    headers: {
      Authorization: `token ${token}`,
      'User-Agent': 'APM RUM JS agent' + version
    }
  })
  /**
   * To match the package version with tags
   */
  const tagVersion = `${name}@${version}`
  const changelogUrl = `https://www.elastic.co/guide/en/apm/agent/rum-js/current/release-notes.html`
  const postBody = {
    tag_name: tagVersion,
    name: tagVersion,
    body: `Please check the changelog - ${changelogUrl}`,
    draft: false,
    prerelease: false
  }

  return new Promise((resolve, reject) => {
    const request = https.request(options)
    request.on('response', response => {
      let chunks = ''
      response.on('data', data => (chunks += data))
      response.on('end', () => {
        if (response.statusCode !== 201) {
          reject(chunks)
        }
        resolve(chunks)
      })
    })
    request.on('error', err => reject(err))
    request.write(JSON.stringify(postBody))
    request.end()
  })
}