grunt-github-release-asset
v0.2.0
Published
Create releases and attach assets on Girhub.
Downloads
7
Maintainers
Readme
grunt-github-release-asset
Create releases and attach assets on Github.
Getting Started
This plugin requires Grunt ~0.4.5
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-github-release-asset --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-github-release-asset');
The "githubAsset" task
Run the task with grunt githubAsset
Github allows you to create releases on tags. This grunt task allows you to create a release on the newest tag and attach a file to it.
Authentication
Even though it's possible to use username and password to authenticate, it's recommended to use a token based authentication. In case your credentials get leaked you can easily revoke the token. Furthermore don't put your credentials in the Gruntfile, create a credentials.json
and add it to .gitignore.
You can create a token at Settings > Applications > Generate new token. Enter grunt-github-release-asset
as a name and assign only the repo
permission. Copy the token into your credentials file.
Options
options.credentials
Type: object
Token authentication (recommended)
{
token: '...'
}
Username & password authentication
{
username: '...',
password: '...'
}
options.repo
Type: String
The git url of the repository. Must be [email protected]:user/repo.git
options.files
Type: Array
The paths to files, relative to your grunt root.
options.releaseName
Type: String
Default: {tag}
The name of the release. By default it will use the tag name. {tag}
is a placeholder and can be used inside another string.
options.tag
Type: String
Default: undefined
The tag for which ti do a release. By default, will fetch the latest tag from Github.
Usage Examples
grunt.initConfig({
githubAsset: {
options: {
credentials: grunt.file.readJSON('credentials.json'),
repo: '[email protected]:Bartinger/grunt-github-release-asset.git',
files: ['project_build.zip'],
releaseName: 'Version {tag}'
},
},
});
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Lint and test your code using Grunt.
Release History
- 0.2.0 Add support for multiple files. Thanks to Aakil Fernandes
- 0.1.0 Initial release; Create a release and attach a single file.