Giter VIP home page Giter VIP logo

gitlab-calendar's Introduction

GitCalendar

Tool that generates an ICS file from issues, milestones and iterations, of one or more GitLab projects. Only events with a due date are considered.

Setup

The script requires Python >= 3.6 and uses the libraries ics (Apache License v2.0) and python-gitlab (LGPL v3.0). You can install it from PyPi with the following command:

pip install gitcalendar

Usage

There are two options of running the script:

Run it with a config

  • Rename gitlab-config.ini.example to gitlab-config.ini and fit to your needs
  • Make sure that all wanted variables are given
  • Make sure to declare your private token, a valid project or group id, and the path where your calendar files should be generated at.

Once this is done, you can run the script as follows:

gitcalendar --config <PATH OF YOUR CONFIG>    

Run it with all the options you need

Warning! Please consider using the prior option for not leaking any access tokens

  • Here, there's a need to declare the url of the gitlab instance, your private token, and at least one project or group id.
gitcalendar -u <URL> -t <PRIVATE TOKEN> -p <LIST OF PROJECT IDS> -g <LIST OF GROUP IDS>    

For more options please use:

gitcalendar -h

Development

After you cloned the repository and changed into it, you can perform the following actions.

Setup

Install with pip as follows:

pip install -e .[develop]

Package Build

You can build a source package with the following command:

python setup.py sdist

You can build a wheel with the following command:

python setup.py bdist

Changes

Please see the CHANGELOG.md for notable changes.

Contributing

Please see the CONTRIBUTING.md if you want to contribute.

Contributors

Please see CONTRIBUTORS.md for further information about the contributors.

License

Please see LICENSE.md for further information about how the content is licensed.

gitlab-calendar's People

Contributors

benjamin2107 avatar drake81 avatar onyame avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

gitlab-calendar's Issues

Add a config generation option

In GitLab by @meinel on Jul 19, 2021, 11:29

The example gitcalendar.ini cannot easily be retrieved from the installed PyPI package.

It would be helpful to have a very basic command that could generate an gitcalendar.ini (e.g., simply write the example config file to the local directory). A more advanced approach could also persist the command line arguments to a working configuration file.

Import issue templates

In GitLab by @Benjamin2107 on Jul 19, 2021, 09:14

What is the purpose of the change?

Issue templates need to be imported for improved issue handling.

Which tasks have to be performed?

  • create .gitlab folder
  • create template for bugs
  • create a default template
  • create a future release template

Are there any acceptance criteria to check?

  • The templates work

Last preparations for publication on PyPi

In GitLab by @Benjamin2107 on Jul 15, 2021, 10:32

What is the purpose of the change?

To automate the process of building the package, a gitlab-ci.yml file is needed.

Which tasks have to be performed?

There are several tasks that have to be performed in the .gitlab-ci.yml.

  • Automatic build after a commit

  • Publish on pypi on manual

  • Setup a runner

Are there any acceptance criteria to check?

  • Pipeline is passing

Set Readme to long_description field in setuppy

In GitLab by @Benjamin2107 on Jul 15, 2021, 10:27

What is the purpose of the change?

The Readme is needed to document the tools purpose on PyPi.

Which tasks have to be performed?

  • Readme as long_description
  • clean up keywords

Are there any acceptance criteria to check?

  • Readme is included in the package when it is built
  • long_description field is set with Readme

Fix package build

In GitLab by @Benjamin2107 on Feb 22, 2021, 11:49

The package build includes the wrong files.

Lokale Installation des package und test

# Ggf. Alte Version deinstallieren 
pip install dist/gitcalendar-0.1.tar.gz

# package neu bauen
python setup.py sdist

# installieren
pip install dist/gitcalendar-0.1.tar.gz

# ausführen
gitcalendar.exe --conf MYCONFIG.ini

Provide more suitable "long description"

In GitLab by @meinel on Jul 19, 2021, 11:26

The README is a good documentation for this repository but does not work for PyPI - especially because the relative links won't work. This might lead to frustrated user at a very early stage!

A good solution would be to write a custom "long description" for the package or even use the docstring instead. I'd advise to not put too much information into this but add an absolute link to the GitLab-Repo-README there...

Prepare release 1.0.0

In GitLab by @Benjamin2107 on Jul 16, 2021, 11:35

Tasks:

  • Create changelog.md entry for version 1.0.0
  • Create contributing.md
  • Change version tag in setup.py
  • Change version tag in gitcalendar.init.py
  • Change development status to Production/Stable
  • Add classifiers for python versions 3.8 and 3.9

Documentation aktualisieren

In GitLab by @Benjamin2107 on Feb 24, 2021, 11:41

Documentation ist nach Reuse-Tool nicht mehr Up to Date

  • Lizenzhinweise anpassen
  • Installationsanleitung anpassen (nur unter Windows getestet)

Implement creation of events from iterations

In GitLab by @Benjamin2107 on Jul 19, 2021, 09:31

What is the purpose of the change?

For full compatibility with GitLab, GitCalendar needs to handle iterations. They can be implemented as soon as python-gitlab provides an API for them.

Which tasks have to be performed?

  • check, whether python-gitlab provides them
  • implement iterations
  • Update tests
  • Prepare for new release

Are there any acceptance criteria to check?

  • CitCalendar works as expected

Fix skipped tests

In GitLab by @Benjamin2107 on Jul 19, 2021, 08:58

What is the purpose of the change?

Some tests get ignored while running. Those tests need to be updated.

Which tasks have to be performed?

  • Fix test_create_event
  • Fix test_filter_todos_from_project

Are there any acceptance criteria to check?

  • Does test_create_event run without error?
  • Does test_filter_todos_from_project run without error?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.