class GithubReleaseParty
Constants
- VERSION
Public Class Methods
check_env!()
click to toggle source
# File lib/github-release-party.rb, line 60 def self.check_env! if !ENV["GITHUB_RELEASE_TOKEN"] abort "Configure GITHUB_RELEASE_TOKEN to create GitHub releases. See https://github.com/stefansundin/github-release-party#setup" end if !repo abort "Can't find the GitHub repository. Please use the remote 'origin'." end end
create(tag_name, message)
click to toggle source
# File lib/github-release-party.rb, line 36 def self.create(tag_name, message) body = { tag_name: tag_name, name: tag_name, body: message, } r = GitHub.post("/repos/#{repo}/releases", body.to_json) if r.success? puts "GitHub release #{tag_name} created!" else puts error(r) puts puts "Body sent: #{body.to_json}" puts puts "Failed to create a GitHub release!" puts "Create it manually here: https://github.com/#{repo}/releases/new?tag=#{tag_name}" puts "Tag version: #{tag_name}" puts "Release title: #{tag_name}" puts "Message:" puts message end end
releases()
click to toggle source
# File lib/github-release-party.rb, line 6 def self.releases releases = [] page = 1 while true r = GitHub.get("/repos/#{repo}/releases?page=#{page}") if !r.success? puts "Error occurred when fetching releases:" puts error(r) abort end break if r.json.length == 0 releases = releases + r.json page += 1 end return releases end
repo()
click to toggle source
# File lib/github-release-party.rb, line 69 def self.repo @repo ||= `git remote -v`.scan(/^origin\t.*github\.com[:\/](.+)\.git /).uniq.flatten.first end
update(release_id, name, message)
click to toggle source
# File lib/github-release-party.rb, line 23 def self.update(release_id, name, message) r = GitHub.patch("/repos/#{repo}/releases/#{release_id}", { name: name, body: message, }.to_json) if r.success? puts "GitHub release #{name} updated!" else puts "Failed to update GitHub release #{name}!" puts error(r) end end
Private Class Methods
error(r)
click to toggle source
# File lib/github-release-party.rb, line 75 def self.error(r) "#{r.request_uri}: #{r.code}: #{r.body}\nHeaders: #{r.headers.to_json}" end