Skip to content

Instantly share code, notes, and snippets.

@mcrider
Forked from visnup/import_issues.rb
Created January 23, 2013 18:53
Show Gist options
  • Select an option

  • Save mcrider/4611551 to your computer and use it in GitHub Desktop.

Select an option

Save mcrider/4611551 to your computer and use it in GitHub Desktop.

Revisions

  1. visnu pitiyanuvath created this gist Jul 31, 2011.
    35 changes: 35 additions & 0 deletions import_issues.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,35 @@
    #!/usr/bin/env ruby

    require 'rubygems'
    require 'FasterCSV'
    require 'httparty'
    require 'json'

    class GitHub
    include HTTParty
    base_uri 'https://api.github.com'
    basic_auth user, password
    end

    FasterCSV.open ARGV.shift, :headers => true do |csv|
    csv.each do |r|
    # POST /repos/nko2/website/issues
    # title, body, assignee, milestone, labels
    body = {
    :title => r['Story'],
    :body => r['Description'],
    }
    body[:labels] = [ r['Labels'] ] if r['Labels'] != ''
    issue = GitHub.post '/repos/nko2/website/issues', :body => JSON.generate(body)
    p issue

    r.each do |f|
    if f[0] == 'Note'
    next unless f[1]
    # POST /repos/nko2/website/issues/:id/comments
    body = { :body => f[1] }
    GitHub.post "/repos/nko2/website/issues/#{issue.parsed_response['number']}/comments", :body => JSON.generate(body)
    end
    end
    end
    end