Skip to main content

Export various data sets from GitLab issues, projects and groups

Project description

gitlab-exporter

Python tool for the command line to export various data sets from GitLab like project issues and group milestone dates. Scales nicely due to an API built on submodules.

gitlab-exporter is based on argparse and uses python-gitlab under the hood.

Motivation

At TUHH we use GitLab CE a lot for project management. The Community Edition (CE) is missing some features that premium versions of GitLab have. As we want to stay independent with MIT licensed distribution of GitLab we have to implement the missing features ourselves.

It takes some time and patience to get all colleagues into working with GitLab. For many of them GitLab is not the tool that they open up first when they start working. Thus, some workarounds and helper functions can make their work more convenient and fun, as not all of them are coders.

gitlab-exporter is such a helper tool. Its purpose is to get data out off GitLab and locate it in your colleagues' personal digital environments like calendars, office programs and the like.

Installation

Requirements

You need at least on your system

  • Python 3.6.x
  • pandoc 2.x

Installation from Source

Go to the repository and grab the source.

Installation using Pip

gitlab-exporter is a Python tool that can easily be installed with pip.

pip install gitlab-exporter

After installation with pip you should be able to use the command gitlab-exporter in your shell.

Getting to know the API

To learn about the API of gitlab-exporter type

gitlab-exporter -h

after installation. There are and will be several submodules for different purposes. Learn about the API of these submodules simply typing e.g.

gitlab-exporter gmd -h

to get help for the submodule that exports group milestone dates to an ICS file.

Submodules and Examples

gitlab-exporter provides several submodules for different purposes.

gmd - group milestone dates

Exports dates and descriptions of milestones on the group level to an ICS file. You then can import this file into your calendar of choice.

Example:

gitlab-exporter https://my-gitlab.com A2DF6HE6R7C88C9AE gmd 1234 milestones.ics

The command consists of the GitLab instance, a private token, the submodule name, the group id and the file name of the ICS file.

pi - project issues

Exports issues belonging to a certain project to a CSV file.

gitlab-exporter https://my-gitlab.com A2DF6HE6R7C88C9AE gi 2345 issues.csv

The command consists of the GitLab instance, a private token, the submodule name, the project id and the CSV file name.

Automate the boring stuff with Docker

If you have the CI/CD component running with GitLab you can easily have Docker build your exports from GitLab.

Further documentation is on the way...

Tests

There are some, but they will be updated to pytest as soon as possible.

License

Copyright 2019 Axel Dürkop; Hamburg University of Technology (TUHH)

This piece of software is licensed under the Apache License, Version 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitlab-exporter-0.0.7.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitlab_exporter-0.0.7-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file gitlab-exporter-0.0.7.tar.gz.

File metadata

  • Download URL: gitlab-exporter-0.0.7.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.5

File hashes

Hashes for gitlab-exporter-0.0.7.tar.gz
Algorithm Hash digest
SHA256 45f382b07ddba44656c69dde67244e7aa133199d9229e436c92c8a3f8c62e3c0
MD5 f49da76d9afac964d232b9f72bd81cb4
BLAKE2b-256 0c6328e78a1f73811e0c45ac64d755236ce3f6aa0508e227eb975c6d6e270bd3

See more details on using hashes here.

File details

Details for the file gitlab_exporter-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: gitlab_exporter-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.5

File hashes

Hashes for gitlab_exporter-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1838966049144dee8c45f2e351ad9535129c447320d83d70ab7cfb2bf81c71cd
MD5 91d4a49d04295c4b8fdf965fb4b7d5aa
BLAKE2b-256 cbcff8d854c176689d270aa24384c27545983f7f8e00b70617d3bd7dc706521e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page