1.0.3 • Published 5 years ago

git-to-es v1.0.3

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

Git On Kibana

Git Info On Kibana

Bash command and node library to push git info to Kibana for better visualization.

Preface

In normal scenarios, its difficult to analyze git data, this command and library aims to make it easily as it pushes the data to es where dashboards can be created easily. We can better visualise who is contributing how much to the project. And how the processes are being followed

Features

  1. Push commits to Es.
  2. Push Tags to Es.
  3. Works as both command line or as a node library.
  4. Visualise using Kibana Dashboards.

Create dashboards:

Dashboard-1

Discover:

Discover-1

Getting started.

GitToEs will work on all systems which can run node or have bash instalked.

Command Line Usage

npm install -g git-to-es

Usage

Usage: git-to-es [options] [command]

Options:

-v, --version              output the version number
-h, --help                 output usage information

Commands:

push [options] <all>       Push info to ES
*                          Unsupported command

Examples.

Push commits:

git-to-es push all --hosts 127.0.0.1:9200 --repoName git --origin local --workingDirPath /Users/yogesh.yadav/Downloads/PersonalSpace/Work/Code/CSR/git-to-es --infoType commits

Push tags:

git-to-es push all --hosts 127.0.0.1:9200 --repoName git --origin local --workingDirPath /Users/yogesh.yadav/Downloads/PersonalSpace/Work/Code/CSR/git-to-es --infoType tags

Node Library Usage

npm install --save git-to-es

Examples.

Push commits:

const GitToEs = require("git-to-es");
const Elasticsearch = require('elasticsearch');
let client = new Elasticsearch.Client({
    host: {
        host: '127.0.0.1',
        port: 9200
    }
});

let gitToEs = new GitToEs({
    es: {
        client: client,
        index: 'index',
        type: 'type'
    },
    origin: 'local',
    workingDirPath: '/Users/yogesh.yadav/repo-name'
})

gitToEs.init()
    .then(() => gitToEs.pushCommits())
    .then(Promise.resolve)
    .error(error => Promise.reject(error));

Push tags:

const GitToEs = require("git-to-es");
const Elasticsearch = require('elasticsearch');
let client = new Elasticsearch.Client({
    host: {
        host: '127.0.0.1',
        port: 9200
    }
});

let gitToEs = new GitToEs({
    es: {
        client: client,
        index: 'index',
        type: 'type'
    },
    origin: 'local',
    workingDirPath: '/Users/yogesh.yadav/repo-name'
})

gitToEs.init()
    .then(() => gitToEs.pushTags())
    .then(Promise.resolve)
    .error(error => Promise.reject(error));

Have a problem? Come chat with us!

LinkedIn Twitter Github Gmail

Maintained by

Yogesh Yadav

Support my projects

I open-source almost everything I can, and I try to reply everyone needing help using these projects. Obviously, this takes time. You can integrate and use these projects in your applications for free! You can even change the source code and redistribute (even resell it).

However, if you get some profit from this or just want to encourage me to continue creating stuff, there are few ways you can do it:

  • Starring and sharing the projects you like
  • Paytm You can make one-time donations via Paytm (+91-7411000282). I'll probably buy a coffee.
  • UPI You can make one-time donations via UPI (7411000282@paytm).
  • Bitcoin You can send me bitcoins at this address (or scanning the code below): 3BKvX4Rck6B69JZMuPFFCPif4dSctSxJQ5

Thanks!

Where is this library used?

If you are using this library in one of your projects, add it here.

License

MIT © Yogesh Yadav