Jira平台数据自动化获取(三)--获取数据并写入Mysql

获取并写入数据

我们现在已经得到了需获取的数据,现研究如何记录数据。

开始想着将数据写入到excel中,查了一些资料,发现nodejs写入到xls文件中自己还是实现不了逐列去写数据,故放弃写入excel中,直接写入到Mysql数据库中。

登录连接数据库:

/** 登录连接数据库 */
//加载mysql Module
var mysql = require('mysql');
var connection = mysql.createConnection({
    //主机
    host: 'localhost',
    //用户名
    user: 'root',
    //密码
    password: '123456',
    //端口号
    port: '3306'
});

创建数据表:

//如果不存在你创建的数据库名,则创建字符集为utf8,排列规则为utf8_general_ci的数据库
//要创建的数据库名
var TEST_DATABASE = 'nodejs_mysql_test';
connection.query('CREATE DATABASE IF NOT EXISTS ' + TEST_DATABASE + ' DEFAULT CHARSET utf8 COLLATE utf8_general_ci;', function (err) {
    if (err && err.number != mysql.ERROR_DB_CREATE_EXISTS) {
        throw err;
    }
});

创建表格:
首先获取当前时间做为表格名:

/** 获取当前时间,做为数据库表格名称 */
var myDate = new Date();
var year = myDate.getFullYear(),
    mouth = myDate.getMonth() + 1,
    day = myDate.getDate(),
    hour = myDate.getHours(),
    minutes = myDate.getMinutes(),
    second = myDate.getSeconds();
var mytime = year + '_' + mouth + '_' + day + '_' + hour + '' + minutes + '' + second;

接着创建以mytime为名称的表格

//要创建的表名
var TEST_TABLE = '' + mytime;
connection.query(
  'CREATE TABLE ' + TEST_TABLE + '(id INT(11) AUTO_INCREMENT, ' + '项目名称 VARCHAR(255), ' + '上月遗留bug数 VARCHAR(255),' + '新增bug数 VARCHAR(255),' + '关闭bug数 VARCHAR(255),' + '遗留bug数 VARCHAR(255),' + 'PRIMARY KEY (id))' );

数据库、数据表和表格头都创建完成后,现需要将从Jira获取到的数据写入数据库指定的表格中

/* 插入数据 project:项目名称 LegacybugsLastMouth:上月遗留bug数 Newbugs:新增bug Closedbugs:关闭bug Legacybugs:遗留bug */
function writeMysql(project, LegacybugsLastMouth, Newbugs, Closedbugs,Legacybugs) {
    var query = connection.query(
  'INSERT INTO ' + TEST_TABLE + ' ' +
  'SET 项目名称 = ?, 上月遗留bug数 = ?, 新增bug数 = ?, 关闭bug数 = ?, 遗留bug数 = ?',
  [project, LegacybugsLastMouth, Newbugs, Closedbugs, Legacybugs]
);
}

运行程序,查看数据库

Jira平台数据自动化获取(三)--获取数据并写入Mysql_第1张图片

仍需要优化,将数据库中的数据表格做成曲线图,通过邮件的方式发出来

你可能感兴趣的:(mysql,数据,jira)