tree: 38fa2a022f727bd2990291755d8cdac6647cda0f [path history] [tgz]
  1. models/
  2. parser/
  3. store/
  4. gitextractor.go
  5. main.go
  6. README-zh-CN.md
  7. README.md
plugins/gitextractor/README.md

Git Repo Extractor

Summary

This plugin extract commits and references from a remote or local git repository. It then saves the data into the database or csv files.

Steps to make this plugin work

  1. Use the Git repo extractor to retrieve commit-and-branch-related data from your repo
  2. Use the GitHub plugin to retrieve Github-issue-and-pr-related data from your repo. NOTE: you can run only one the issue collection stage as described in the Github Plugin README.
  3. Use the RefDiff plugin to calculate version diff, which will be stored in refs_commits_diffs table.

Sample Request

curl --location --request POST 'localhost:8080/pipelines' \
--header 'Content-Type: application/json' \
--data-raw '
{
    "name": "git repo extractor",
    "tasks": [
        [
            {
                "Plugin": "gitextractor",
                "Options": {
                    "url": "https://github.com/merico-dev/lake.git",
                    "repoId": "github:GithubRepo:384111310"
                }
            }
        ]
    ]
}
'
  • url: the location of the git repository. It should start with http/https for remote git repository or / for a local one.
  • repoId: column id of repos.
  • proxy: optional, http proxy, e.g. http://your-proxy-server.com:1080.
  • user: optional, for cloning private repository using HTTP/HTTPS
  • password: optional, for cloning private repository using HTTP/HTTPS
  • privateKey: optional, for SSH cloning, base64 encoded PEM file
  • passphrase: optional, passphrase for the private key

Development

This plugin depends on libgit2, you need to install version 1.3.0 in order to run and debug this plugin on your local machine. Click here for a brief guide.