tools/chrome-plugin-rocketmq-helper/js/content-script.js (55 lines of code) (raw):
var reg = /\[issue[\ ]+\#([0-9]+)\]/gi;
var res_arr = []
var res_arr_not_sured = []
$(document).ready(function(){
// var el = $('<p>这是一个P标签</p>');
// console.log($(".new-discussion-timeline")[0].children[0].children[0].children[1].children[1])
// el.after($(".new-discussion-timeline")[0].children[0].children[0].children[1].children[1])
var $pull_requests = $("a[data-hovercard-type='pull_request']");
if($pull_requests.length <=0 ){
LOG("这个页面没有找到任何pr和issue")
return;
}
var index=0, issue_id = 0;
var release_title="", pr_href = "" , issue_href="";
res_arr.push("RocketMQ plugin start:\n")
res_arr.push("## Feature");
res_arr.push("<ul>");
res_arr.push("\n\n");
res_arr.push("</ul>");
res_arr.push("</ul>\n");
res_arr.push("## Improvement\n<ul>");
for(var $pr of $pull_requests){
index++;
issue_id = get_issue_id_by_pr_title($pr.text);
if (!issue_id){
continue;
}
release_title = "[ISSUE-" + issue_id+ "] - " + $pr.text.replace(reg, "").trim();
pr_href = "https://github.com" + $pr.href;
issue_href = "https://github.com/apache/rocketmq/issues/" + issue_id;
res_arr.push("<li>[<a href='"+issue_href+"'>ISSUE-"+issue_id+"</a>] - "+ release_title+"</li>");
}
res_arr.push("</ul>\n");
res_arr.push("## Bug");
res_arr.push("<ul>\n\n</ul>\n");
res_arr.push("## Document and code style improvement\n");
res_arr.push("<ul>\n\n</ul>");
res_arr.push("\n");
if(res_arr_not_sured.length>0){
res_arr.push("Issues can't be read cause of wrong title format, format it as: [ISSUE #issue_id] xxx, then refresh this page.\n");
res_arr.push(res_arr_not_sured.join("\n"))
}
res_arr.push("\n")
res_arr.push("RocketMQ plugin done:\n")
LOG(res_arr.join("\n"));
});
function get_issue_id_by_pr_title(pr_title){
var result = "";
if (!reg.test(pr_title)){
res_arr_not_sured.push("[wrong format title for issue] " + pr_title.trim())
}else{
result = pr_title.match(reg)[0].match(/[0-9]+/)[0]
}
return result;
}
function LOG(msg){
console.log(msg)
}