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
  • Save mcrider/4611551 to your computer and use it in GitHub Desktop.
Save mcrider/4611551 to your computer and use it in GitHub Desktop.
#!/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
@mcrider
Copy link
Author

mcrider commented Jan 23, 2013

@simplesessions I think this could work as an import script; We just need to fine tune the CSV that YouTrack generates

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment