From 0b21d4af4172ce8b3110081fb7fab12e35f84329 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Fri, 15 Dec 2023 15:36:31 +0800 Subject: [PATCH 01/14] =?UTF-8?q?Github=20issues=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_add_issues.rake | 130 ++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) diff --git a/lib/tasks/batch_add_issues.rake b/lib/tasks/batch_add_issues.rake index 32d3e6ebd..3b6073958 100644 --- a/lib/tasks/batch_add_issues.rake +++ b/lib/tasks/batch_add_issues.rake @@ -127,4 +127,134 @@ namespace :batch_add_issues do end end end + + + task github: :environment do + project_id = ENV['project_id'] + puts "project_id=================#{project_id}" + next if project_id.blank? + project = Project.find project_id + count = 0 + if ENV['count'].present? + count = ENV['count'].to_i + end + + total_count = 3000 + puts "total_count==========#{total_count}" + if total_count > 100 + total_page = (total_count / 100) + 1 + total_page.times do |i| + add_github_issues_to_project(project, i + 1 + count) + end + else + add_github_issues_to_project(project, 1) + end + end + + def add_github_issues_to_project(project,page) + # curl -X GET --header 'Content-Type: application/json;charset=UTF-8' 'https://gitee.com/api/v5/repos/mindspore/mindspore/issues?access_token=5ccebd935915fb6cfcae634b161047a2&state=open&sort=created&direction=desc&page=1&per_page=10' + # api_url = "https://gitee.com/api/v5/repos/mindspore/mindspore/issues?access_token=96a637aa055f15056e77e3cf11a67525&state=all&sort=created&direction=desc&page=#{page}&per_page=100" + api_url = "https://api.github.com/repos/OpenXiangShan/XiangShan/issues?sort=created&direction=desc&per_page=100&state=all&page=#{page}" + uri = URI.parse(api_url) + response = Net::HTTP.get_response(uri) + puts "gitee api response.code ===== #{response.code}" + lists = JSON.parse(response.body) + puts "lists.size =====#{lists.size}" + + # "1" => "新增", + # "2" => "正在解决", + # "3" => "已解决", + # "5" => "关闭", + # "6" => "拒绝" + # Issue的状态: open(开启的), progressing(进行中), closed(关闭的), rejected(拒绝的)。 默认: open + lists.each do |issue| + next if issue['pull_request'].present? + created_issue = Issue.find_by(project_id: project.id, subject: issue['title']) + unless created_issue.present? + priority = [1, 2, 3, 4].include?(issue['priority'].to_i) ? issue['priority'].to_i : 2 + issue_status = ["", "open", "progressing", "", "", "closed", "rejected"].index(issue['state']) + issue_status = 1 if issue_status.nil? + user_login = issue['user']['login'] + user_login = user_login[0..20] if user_login.size > 29 + issue_created_at = issue['created_at'] + issue_updated_at = issue['updated_at'] + user = User.find_by(login: user_login) + unless user.present? + username = "gh-#{user_login}" + email = "#{username}@gitlink.org.cn" + phone = "" + password = "a12345678" + user = User.new(nickname: user_login, login: username, mail: email, password: password, type: 'User', phone: phone) + interactor = Gitea::RegisterInteractor.call({ username: username, email: email, password: password }) + gitea_user = interactor.result + result = Gitea::User::GenerateTokenService.call(username, password) + user.gitea_token = result['sha1'] + user.gitea_uid = gitea_user[:body]['id'] + user.created_on = issue_created_at + user.updated_on = issue_created_at + user.is_test = true + user.save! + UserExtension.create!(user_id: user.id) + puts "import_user batch success: phone #{phone} email: #{email}" + end + + issue_params = { + :status_id => issue_status, + :priority_id => priority, + # :milestone_id, + # :branch_name, + # :start_date, + # :due_date, + :subject => issue['title'], + :description => issue['body'], + # :blockchain_token_num, + :issue_tag_ids => [], + :assigner_ids => [], + :attachment_ids => [], + :receivers_login => [] + } + created_issue = Api::V1::Issues::CreateService.call(project, issue_params, user) + created_issue.update_columns(created_on: issue_created_at, updated_on: issue_updated_at) + end + + issue_number = issue['number'] + # comment_api_url = "https://gitee.com/api/v5/repos/mindspore/mindspore/issues/#{issue_number}/comments?access_token=96a637aa055f15056e77e3cf11a67525&page=1&per_page=100&order=asc" + comment_api_url = "https://api.github.com/repos/OpenXiangShan/XiangShan/issues/#{issue_number}/comments?page=1&per_page=100" + comment_uri = URI.parse(comment_api_url) + comment_response = Net::HTTP.get_response(comment_uri) + comment_lists = JSON.parse(comment_response.body) + + comment_lists.each do |comment| + next if Journal.find_by(journalized_id: created_issue.id, journalized_type: 'Issue', notes: comment['body']).present? + user_login = comment['user']['login'] + next if user_login.size >29 + comment_created_at = comment['created_at'] + comment_updated_at = comment['updated_at'] + comment_user = User.find_by(login: user_login) + unless comment_user.present? + username = "gh-#{user_login}" + email = "#{username}@gitlink.org.cn" + phone = "" + password = "a12345678" + comment_user = User.new(nickname: user_login, login: username, mail: email, password: password, type: 'User', phone: phone) + interactor = Gitea::RegisterInteractor.call({ username: username, email: email, password: password }) + gitea_user = interactor.result + result = Gitea::User::GenerateTokenService.call(username, password) + comment_user.gitea_token = result['sha1'] + comment_user.gitea_uid = gitea_user[:body]['id'] + comment_user.created_on = comment_created_at + comment_user.updated_on = comment_created_at + comment_user.save! + UserExtension.create!(user_id: comment_user.id) + end + + journal_params = {:notes => comment['body'], + :attachment_ids => [], + :receivers_login => []} + + object_result = Api::V1::Issues::Journals::CreateService.call(created_issue, journal_params, comment_user) + object_result.update_columns(created_on: comment_created_at, updated_on: comment_updated_at) + end + end + end end From 1eb18e4036196859fa94b39e234aae508ad098fc Mon Sep 17 00:00:00 2001 From: xxq250 Date: Fri, 15 Dec 2023 15:47:41 +0800 Subject: [PATCH 02/14] =?UTF-8?q?Github=20issues=E8=BF=81=E7=A7=BB,?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_add_issues.rake | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/tasks/batch_add_issues.rake b/lib/tasks/batch_add_issues.rake index 3b6073958..b30925f31 100644 --- a/lib/tasks/batch_add_issues.rake +++ b/lib/tasks/batch_add_issues.rake @@ -178,13 +178,13 @@ namespace :batch_add_issues do user_login = user_login[0..20] if user_login.size > 29 issue_created_at = issue['created_at'] issue_updated_at = issue['updated_at'] - user = User.find_by(login: user_login) + username = "gh-#{user_login}" + user = User.find_by(login: username) unless user.present? - username = "gh-#{user_login}" email = "#{username}@gitlink.org.cn" phone = "" password = "a12345678" - user = User.new(nickname: user_login, login: username, mail: email, password: password, type: 'User', phone: phone) + user = User.new(nickname: username, login: username, mail: email, password: password, type: 'User', phone: phone) interactor = Gitea::RegisterInteractor.call({ username: username, email: email, password: password }) gitea_user = interactor.result result = Gitea::User::GenerateTokenService.call(username, password) @@ -230,13 +230,13 @@ namespace :batch_add_issues do next if user_login.size >29 comment_created_at = comment['created_at'] comment_updated_at = comment['updated_at'] - comment_user = User.find_by(login: user_login) + username = "gh-#{user_login}" + comment_user = User.find_by(login: username) unless comment_user.present? - username = "gh-#{user_login}" email = "#{username}@gitlink.org.cn" phone = "" password = "a12345678" - comment_user = User.new(nickname: user_login, login: username, mail: email, password: password, type: 'User', phone: phone) + comment_user = User.new(nickname: username, login: username, mail: email, password: password, type: 'User', phone: phone) interactor = Gitea::RegisterInteractor.call({ username: username, email: email, password: password }) gitea_user = interactor.result result = Gitea::User::GenerateTokenService.call(username, password) From 505d873ea656cd6d28243e1f4b55336cdc963c93 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Fri, 15 Dec 2023 15:59:27 +0800 Subject: [PATCH 03/14] =?UTF-8?q?Github=20issues=E8=BF=81=E7=A7=BB,?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=E5=A4=84=E7=90=86,=20=E9=99=90?= =?UTF-8?q?=E6=B5=81=E9=9C=80=E8=A6=81=E8=AF=B7=E6=B1=82=E7=AD=89=E5=BE=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_add_issues.rake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/tasks/batch_add_issues.rake b/lib/tasks/batch_add_issues.rake index b30925f31..6340899d2 100644 --- a/lib/tasks/batch_add_issues.rake +++ b/lib/tasks/batch_add_issues.rake @@ -144,6 +144,7 @@ namespace :batch_add_issues do if total_count > 100 total_page = (total_count / 100) + 1 total_page.times do |i| + sleep 30.seconds add_github_issues_to_project(project, i + 1 + count) end else @@ -218,6 +219,7 @@ namespace :batch_add_issues do end issue_number = issue['number'] + sleep 3.seconds # comment_api_url = "https://gitee.com/api/v5/repos/mindspore/mindspore/issues/#{issue_number}/comments?access_token=96a637aa055f15056e77e3cf11a67525&page=1&per_page=100&order=asc" comment_api_url = "https://api.github.com/repos/OpenXiangShan/XiangShan/issues/#{issue_number}/comments?page=1&per_page=100" comment_uri = URI.parse(comment_api_url) From b7597c3fa73388e946b8c0cbecf566bb90dd7344 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Fri, 15 Dec 2023 16:47:22 +0800 Subject: [PATCH 04/14] =?UTF-8?q?Github=20issues=E8=BF=81=E7=A7=BB,?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=E5=A4=84=E7=90=86,=20=E9=99=90?= =?UTF-8?q?=E6=B5=81=E9=9C=80=E8=A6=81=E8=AF=B7=E6=B1=82=E7=AD=89=E5=BE=85?= =?UTF-8?q?,token?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_add_issues.rake | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/tasks/batch_add_issues.rake b/lib/tasks/batch_add_issues.rake index 6340899d2..109198f04 100644 --- a/lib/tasks/batch_add_issues.rake +++ b/lib/tasks/batch_add_issues.rake @@ -144,7 +144,7 @@ namespace :batch_add_issues do if total_count > 100 total_page = (total_count / 100) + 1 total_page.times do |i| - sleep 30.seconds + sleep 3.seconds add_github_issues_to_project(project, i + 1 + count) end else @@ -157,7 +157,11 @@ namespace :batch_add_issues do # api_url = "https://gitee.com/api/v5/repos/mindspore/mindspore/issues?access_token=96a637aa055f15056e77e3cf11a67525&state=all&sort=created&direction=desc&page=#{page}&per_page=100" api_url = "https://api.github.com/repos/OpenXiangShan/XiangShan/issues?sort=created&direction=desc&per_page=100&state=all&page=#{page}" uri = URI.parse(api_url) - response = Net::HTTP.get_response(uri) + # response = Net::HTTP.get_response(uri) + http = Net::HTTP.new(uri.hostname, uri.port) + http.use_ssl = true + comment_response = http.send_request('GET', uri.path, nil, {'Content-Type' => 'application/json','authorization' => "Bearer #{ENV['token']}"}) + puts "gitee api response.code ===== #{response.code}" lists = JSON.parse(response.body) puts "lists.size =====#{lists.size}" @@ -219,11 +223,14 @@ namespace :batch_add_issues do end issue_number = issue['number'] - sleep 3.seconds + sleep 1.seconds # comment_api_url = "https://gitee.com/api/v5/repos/mindspore/mindspore/issues/#{issue_number}/comments?access_token=96a637aa055f15056e77e3cf11a67525&page=1&per_page=100&order=asc" comment_api_url = "https://api.github.com/repos/OpenXiangShan/XiangShan/issues/#{issue_number}/comments?page=1&per_page=100" comment_uri = URI.parse(comment_api_url) - comment_response = Net::HTTP.get_response(comment_uri) + # comment_response = Net::HTTP.get_response(comment_uri) + http = Net::HTTP.new(comment_uri.hostname, comment_uri.port) + http.use_ssl = true + comment_response = http.send_request('GET', comment_uri.path, nil, {'Content-Type' => 'application/json','authorization' => "Bearer #{ENV['token']}"}) comment_lists = JSON.parse(comment_response.body) comment_lists.each do |comment| From de393148d9533a4586504f7aff99f950436ca9a9 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Fri, 15 Dec 2023 16:48:33 +0800 Subject: [PATCH 05/14] =?UTF-8?q?Github=20issues=E8=BF=81=E7=A7=BB,?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=E5=A4=84=E7=90=86,=20=E9=99=90?= =?UTF-8?q?=E6=B5=81=E9=9C=80=E8=A6=81=E8=AF=B7=E6=B1=82=E7=AD=89=E5=BE=85?= =?UTF-8?q?,token?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_add_issues.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/batch_add_issues.rake b/lib/tasks/batch_add_issues.rake index 109198f04..d6b76dd07 100644 --- a/lib/tasks/batch_add_issues.rake +++ b/lib/tasks/batch_add_issues.rake @@ -160,7 +160,7 @@ namespace :batch_add_issues do # response = Net::HTTP.get_response(uri) http = Net::HTTP.new(uri.hostname, uri.port) http.use_ssl = true - comment_response = http.send_request('GET', uri.path, nil, {'Content-Type' => 'application/json','authorization' => "Bearer #{ENV['token']}"}) + response = http.send_request('GET', uri.path, nil, {'Content-Type' => 'application/json','authorization' => "Bearer #{ENV['token']}"}) puts "gitee api response.code ===== #{response.code}" lists = JSON.parse(response.body) From b80ed537fcf9b05a4311b94fe19c3ddf247ce9f9 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Fri, 15 Dec 2023 17:04:53 +0800 Subject: [PATCH 06/14] =?UTF-8?q?Github=20issues=E8=BF=81=E7=A7=BB,?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=E5=A4=84=E7=90=86,=20=E9=99=90?= =?UTF-8?q?=E6=B5=81=E9=9C=80=E8=A6=81=E8=AF=B7=E6=B1=82=E7=AD=89=E5=BE=85?= =?UTF-8?q?,token?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_add_issues.rake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/tasks/batch_add_issues.rake b/lib/tasks/batch_add_issues.rake index d6b76dd07..198c76ef4 100644 --- a/lib/tasks/batch_add_issues.rake +++ b/lib/tasks/batch_add_issues.rake @@ -144,7 +144,7 @@ namespace :batch_add_issues do if total_count > 100 total_page = (total_count / 100) + 1 total_page.times do |i| - sleep 3.seconds + sleep 1.seconds add_github_issues_to_project(project, i + 1 + count) end else @@ -160,7 +160,7 @@ namespace :batch_add_issues do # response = Net::HTTP.get_response(uri) http = Net::HTTP.new(uri.hostname, uri.port) http.use_ssl = true - response = http.send_request('GET', uri.path, nil, {'Content-Type' => 'application/json','authorization' => "Bearer #{ENV['token']}"}) + response = http.send_request('GET', uri, nil, {'Content-Type' => 'application/json','authorization' => "Bearer #{ENV['token']}"}) puts "gitee api response.code ===== #{response.code}" lists = JSON.parse(response.body) @@ -230,7 +230,7 @@ namespace :batch_add_issues do # comment_response = Net::HTTP.get_response(comment_uri) http = Net::HTTP.new(comment_uri.hostname, comment_uri.port) http.use_ssl = true - comment_response = http.send_request('GET', comment_uri.path, nil, {'Content-Type' => 'application/json','authorization' => "Bearer #{ENV['token']}"}) + comment_response = http.send_request('GET', comment_uri, nil, {'Content-Type' => 'application/json','authorization' => "Bearer #{ENV['token']}"}) comment_lists = JSON.parse(comment_response.body) comment_lists.each do |comment| From 9979ae6d3a6862cf0abac7035ba84105119fef06 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Mon, 18 Dec 2023 09:49:53 +0800 Subject: [PATCH 07/14] =?UTF-8?q?Github=20issues=E8=BF=81=E7=A7=BB,title?= =?UTF-8?q?=20=E9=95=BF=E5=BA=A6=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_add_issues.rake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/tasks/batch_add_issues.rake b/lib/tasks/batch_add_issues.rake index 198c76ef4..1e5b1af12 100644 --- a/lib/tasks/batch_add_issues.rake +++ b/lib/tasks/batch_add_issues.rake @@ -68,7 +68,8 @@ namespace :batch_add_issues do UserExtension.create!(user_id: user.id) puts "import_user batch success: phone #{phone} email: #{email}" end - + title = issue['title'] + title = title[0..190] if title.size > 190 issue_params = { :status_id => issue_status, :priority_id => priority, @@ -76,7 +77,7 @@ namespace :batch_add_issues do # :branch_name, # :start_date, # :due_date, - :subject => issue['title'], + :subject => title, :description => issue['body'], # :blockchain_token_num, :issue_tag_ids => [], From 7b1d0e21eedc2c715dc2752ee77649e07e69b5f9 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Mon, 18 Dec 2023 10:00:01 +0800 Subject: [PATCH 08/14] =?UTF-8?q?Github=20issues=E8=BF=81=E7=A7=BB,title?= =?UTF-8?q?=20=E9=95=BF=E5=BA=A6=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_add_issues.rake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/tasks/batch_add_issues.rake b/lib/tasks/batch_add_issues.rake index 1e5b1af12..49cced500 100644 --- a/lib/tasks/batch_add_issues.rake +++ b/lib/tasks/batch_add_issues.rake @@ -204,6 +204,8 @@ namespace :batch_add_issues do puts "import_user batch success: phone #{phone} email: #{email}" end + title = issue['title'] + title = title[0..190] if title.size > 190 issue_params = { :status_id => issue_status, :priority_id => priority, @@ -211,7 +213,7 @@ namespace :batch_add_issues do # :branch_name, # :start_date, # :due_date, - :subject => issue['title'], + :subject => title, :description => issue['body'], # :blockchain_token_num, :issue_tag_ids => [], From eaf389ecea57796664d5f084803b665ffd9fd804 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Mon, 18 Dec 2023 10:33:31 +0800 Subject: [PATCH 09/14] =?UTF-8?q?Github=20issues=E8=BF=81=E7=A7=BB,title?= =?UTF-8?q?=20=E9=95=BF=E5=BA=A6=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_add_issues.rake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/tasks/batch_add_issues.rake b/lib/tasks/batch_add_issues.rake index 49cced500..967633440 100644 --- a/lib/tasks/batch_add_issues.rake +++ b/lib/tasks/batch_add_issues.rake @@ -203,6 +203,11 @@ namespace :batch_add_issues do UserExtension.create!(user_id: user.id) puts "import_user batch success: phone #{phone} email: #{email}" end + if issue['labels'].present? + issue['labels'].each do |tag| + project.issue_tags.find_or_create_by!(name: tag['name'], description: tag['description'], color: "##{tag['color']}") + end + end title = issue['title'] title = title[0..190] if title.size > 190 From c6a38c06d06e05664e10c6f2c082d812720dee5c Mon Sep 17 00:00:00 2001 From: xxq250 Date: Mon, 18 Dec 2023 10:54:04 +0800 Subject: [PATCH 10/14] =?UTF-8?q?Github=20issues=E8=BF=81=E7=A7=BB,?= =?UTF-8?q?=E6=A0=87=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_add_issues.rake | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/tasks/batch_add_issues.rake b/lib/tasks/batch_add_issues.rake index 967633440..673d6a1a0 100644 --- a/lib/tasks/batch_add_issues.rake +++ b/lib/tasks/batch_add_issues.rake @@ -203,12 +203,15 @@ namespace :batch_add_issues do UserExtension.create!(user_id: user.id) puts "import_user batch success: phone #{phone} email: #{email}" end + issue_tags_value = [] if issue['labels'].present? issue['labels'].each do |tag| - project.issue_tags.find_or_create_by!(name: tag['name'], description: tag['description'], color: "##{tag['color']}") + label = project.issue_tags.find_or_create_by!(name: tag['name'], description: tag['description'], color: "##{tag['color']}") + issue_tags_value.push(label.id) end end + title = issue['title'] title = title[0..190] if title.size > 190 issue_params = { @@ -221,7 +224,7 @@ namespace :batch_add_issues do :subject => title, :description => issue['body'], # :blockchain_token_num, - :issue_tag_ids => [], + :issue_tag_ids => issue_tags_value.join(","), :assigner_ids => [], :attachment_ids => [], :receivers_login => [] From 5fe9719cc9b159f51259cb8d23375c95279711a3 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Mon, 18 Dec 2023 10:54:47 +0800 Subject: [PATCH 11/14] =?UTF-8?q?Github=20issues=E8=BF=81=E7=A7=BB,?= =?UTF-8?q?=E6=A0=87=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_add_issues.rake | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/tasks/batch_add_issues.rake b/lib/tasks/batch_add_issues.rake index 673d6a1a0..40b8fb3cd 100644 --- a/lib/tasks/batch_add_issues.rake +++ b/lib/tasks/batch_add_issues.rake @@ -175,7 +175,9 @@ namespace :batch_add_issues do # Issue的状态: open(开启的), progressing(进行中), closed(关闭的), rejected(拒绝的)。 默认: open lists.each do |issue| next if issue['pull_request'].present? - created_issue = Issue.find_by(project_id: project.id, subject: issue['title']) + title = issue['title'] + title = title[0..190] if title.size > 190 + created_issue = Issue.find_by(project_id: project.id, subject: title) unless created_issue.present? priority = [1, 2, 3, 4].include?(issue['priority'].to_i) ? issue['priority'].to_i : 2 issue_status = ["", "open", "progressing", "", "", "closed", "rejected"].index(issue['state']) @@ -211,9 +213,6 @@ namespace :batch_add_issues do end end - - title = issue['title'] - title = title[0..190] if title.size > 190 issue_params = { :status_id => issue_status, :priority_id => priority, From 3806ddaa179d85c411bac7166361960b5e74cc58 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Mon, 18 Dec 2023 10:59:24 +0800 Subject: [PATCH 12/14] =?UTF-8?q?Github=20issues=E8=BF=81=E7=A7=BB,?= =?UTF-8?q?=E6=A0=87=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_add_issues.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/batch_add_issues.rake b/lib/tasks/batch_add_issues.rake index 40b8fb3cd..b1df56772 100644 --- a/lib/tasks/batch_add_issues.rake +++ b/lib/tasks/batch_add_issues.rake @@ -223,7 +223,7 @@ namespace :batch_add_issues do :subject => title, :description => issue['body'], # :blockchain_token_num, - :issue_tag_ids => issue_tags_value.join(","), + :issue_tag_ids => issue_tags_value, :assigner_ids => [], :attachment_ids => [], :receivers_login => [] From 326dcc56abfc0264497de707c9c71e4af25587b2 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Mon, 18 Dec 2023 11:19:20 +0800 Subject: [PATCH 13/14] =?UTF-8?q?Github=20issues=E8=BF=81=E7=A7=BB,?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4=E5=9B=BA=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_add_issues.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/batch_add_issues.rake b/lib/tasks/batch_add_issues.rake index b1df56772..e01182d73 100644 --- a/lib/tasks/batch_add_issues.rake +++ b/lib/tasks/batch_add_issues.rake @@ -229,7 +229,6 @@ namespace :batch_add_issues do :receivers_login => [] } created_issue = Api::V1::Issues::CreateService.call(project, issue_params, user) - created_issue.update_columns(created_on: issue_created_at, updated_on: issue_updated_at) end issue_number = issue['number'] @@ -273,6 +272,7 @@ namespace :batch_add_issues do object_result = Api::V1::Issues::Journals::CreateService.call(created_issue, journal_params, comment_user) object_result.update_columns(created_on: comment_created_at, updated_on: comment_updated_at) + created_issue.update_columns(created_on: issue_created_at, updated_on: issue_updated_at) end end end From 761021d19100cbc9565e058069adbfcbdb303032 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Mon, 18 Dec 2023 11:52:37 +0800 Subject: [PATCH 14/14] =?UTF-8?q?Github=20issues=E8=BF=81=E7=A7=BB,?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4=E5=9B=BA=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/tasks/batch_add_issues.rake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tasks/batch_add_issues.rake b/lib/tasks/batch_add_issues.rake index e01182d73..9389b95c5 100644 --- a/lib/tasks/batch_add_issues.rake +++ b/lib/tasks/batch_add_issues.rake @@ -178,14 +178,14 @@ namespace :batch_add_issues do title = issue['title'] title = title[0..190] if title.size > 190 created_issue = Issue.find_by(project_id: project.id, subject: title) + issue_created_at = issue['created_at'] + issue_updated_at = issue['updated_at'] unless created_issue.present? priority = [1, 2, 3, 4].include?(issue['priority'].to_i) ? issue['priority'].to_i : 2 issue_status = ["", "open", "progressing", "", "", "closed", "rejected"].index(issue['state']) issue_status = 1 if issue_status.nil? user_login = issue['user']['login'] user_login = user_login[0..20] if user_login.size > 29 - issue_created_at = issue['created_at'] - issue_updated_at = issue['updated_at'] username = "gh-#{user_login}" user = User.find_by(login: username) unless user.present?