gh-release-assets

    2.0.0 • Public • Published

    gh-release-assets

    npm travis

    Upload assets to a GitHub release. Based on the awesome work of @remixz as part of publish-release.

    Install

    npm install gh-release-assets
    

    Usage

    Pass in the upload url and an array of local files you'd like to upload. If you want to specify a new name for the file once it is uploaded, use an object with a name and path keys.

    var ghReleaseAssets = require('gh-release-assets')
     
    ghReleaseAssets({
      url: 'https://uploads.github.com/repos/octocat/Hello-World/releases/1197692/assets{?name}',
      token: [MY_GITHUB_TOKEN],
      assets: [
        '/path/to/foo.txt',
        '/path/to/bar.zip',
        {
          name: 'baz.txt',
          path: '/path/to/baz.txt'
        }
      ]
    }, function (err, assets) {
      console.log(assets)
    })

    GitHub returns the upload url in the correct format after you create a release as upload_url. You can also get the upload url from the releases endpoint like:

    curl -i https://api.github.com/repos/:owner/:repo/releases
    

    You can also use a username/password instead of a token by passing an auth object:

    var ghReleaseAssets = require('gh-release-assets')
     
    ghReleaseAssets({
      url: 'https://uploads.github.com/repos/octocat/Hello-World/releases/1197692/assets{?name}',
      auth: {
        username: 'CoolGuy'
        password: 'KeepItSecret'
      },
      assets: [
        '/path/to/foo.txt',
        '/path/to/bar.zip',
        {
          name: 'baz.txt',
          path: '/path/to/baz.txt'
        }
      ]
    }, function (err, assets) {
      console.log(assets)
    })

    Either a token or auth is required.

    gh-release-assets also emits the following events:

    • upload-asset - {name} - Emits before an asset file starts uploading. Emits the name of the file.
    • upload-progress - {name, progress} - Emits while a file is uploading. Emits the name of the file, and a progress object from progress-stream.
    • uploaded-asset - {name} - Emits after an asset file is successfully uploaded. Emits the name of the file.

    Contributing

    Contributions welcome! Please read the contributing guidelines before opening an issue or making a pull request.

    License

    ISC

    Install

    npm i gh-release-assets

    DownloadsWeekly Downloads

    8,312

    Version

    2.0.0

    License

    ISC

    Unpacked Size

    7.74 kB

    Total Files

    5

    Last publish

    Collaborators

    • jgravois
    • bret
    • paulcpederson
    • ungoldman