Skip to main content

Synchronized Gitlab Issues into Microsoft Project

Project description

Build Status PyPi Version PyPi Downloads Python Versions Wheel Build Project Status Code Style Black Checked with mypy License: MIT Documentation Status

SyncGitlab2MSProject

Sync Gitlab Issues into a Microsoft Project File. Use it if you use MS Project for the general project planning but want to keep the Issues in Gitlab as a part of your project planning to follow the process progess.

Currently only Information from Gitlab Issues are inserted and updated within the Project File. Changes in synchronised fields will be overwritten.

The following MS Project attributes are synced (overwritten) from gitlab:

  • Name
  • Notes (from Description)
  • Deadline (from Due Date)
  • Work (from Time Estimated)
  • Actual Work (from Time Spent)
  • Percent Complete (if Tasks given for issue, otherwise only 0% and 100% [for closed])
  • Text28 (the list of labels)
  • Text29 (the URL to gitlab issue)
  • Text30 (the reference to the issue is stored there)
  • Hyperlink (link/URL to gitlab issue)

Not yet implemented but planned:

  • Resources (from Assigned)

Moved issues will be handled if the group selected and the issue was moved within the group. Problem is that accessing issues only by ID is just allowed for admins.

Requirements

This project runs only in an Windows Environment with Microsoft Project installed.

Please note: This Script has been tested only mit Microsoft Project 2016. It cloud be, that some of the API has changed in newer versions. If you run into any troubles with a new version, please open an Issue.

Usage

usage: sync_gitlab2msproject [-h] [--version] [-v] [-vv] [--gitlab-url GITLAB_URL] [--gitlab-token GITLAB_TOKEN] {project,group} gitlab_resource_id project_file

Sync Gitlab Issue into MS Project

positional arguments:
  {project,group}       Gitlab resource type to sync with
  gitlab_resource_id    Gitlab resource id to sync with
  project_file          Microsoft Project File to sync with

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -v, --verbose         set loglevel to INFO
  -vv, --very-verbose   set loglevel to DEBUG
  --gitlab-url GITLAB_URL
                        URL to the gitlab instance i.e. https://gitlab.your-company.com
  --gitlab-token GITLAB_TOKEN
                        Gitlab personal access token

Quickstart

  1. Optional: Install pipx
  2. Install the package pipx install SyncGitlab2MSProject (or use pip if you don't like pipx)
  3. Push the gitlab Issue to your MS Project file: sync_gitlab2msproject --gitlab-url https://gitlab.company.com --gitlab-token <your_token> group <your_group_id> ms_project_file.mpp

Open Hyplerlink Problems

If you have troubles that the wrong issues are opened once you click on a Hyperlink use the following VBA Script as a workaround. Simply add the VBA script to your Ribbon and it will open all Hyperlinks of the selected tasks.

Option Explicit

Private Declare Function ShellExecute _
  Lib "shell32.dll" Alias "ShellExecuteA" ( _
  ByVal hWnd As Long, _
  ByVal Operation As String, _
  ByVal Filename As String, _
  Optional ByVal Parameters As String, _
  Optional ByVal Directory As String, _
  Optional ByVal WindowStyle As Long = vbMinimizedFocus _
  ) As Long

Public Sub OpenUrls()

    Dim lSuccess As Long
    Dim T As Task
    Dim Names As String
    For Each T In ActiveSelection.Tasks
        lSuccess = ShellExecute(0, "Open", T.HyperlinkAddress)
    Next T
End Sub

Note

This project has been set up using PyScaffold 3.2.3. For details and usage information on PyScaffold see https://pyscaffold.org/.

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

SyncGitlab2MSProject-0.0.4.tar.gz (57.3 kB view details)

Uploaded Source

Built Distribution

SyncGitlab2MSProject-0.0.4-py2.py3-none-any.whl (17.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file SyncGitlab2MSProject-0.0.4.tar.gz.

File metadata

  • Download URL: SyncGitlab2MSProject-0.0.4.tar.gz
  • Upload date:
  • Size: 57.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for SyncGitlab2MSProject-0.0.4.tar.gz
Algorithm Hash digest
SHA256 6abed94e7a17e3b20db249856288db13a0676f3243f35fd61868275b9fd9d08d
MD5 10fe12dd119eb5fe4ee1ea7c1e4b226c
BLAKE2b-256 5ff97cfcd057976457777becdfdf89ba00d893003ffd92c339a251909153eb6c

See more details on using hashes here.

File details

Details for the file SyncGitlab2MSProject-0.0.4-py2.py3-none-any.whl.

File metadata

  • Download URL: SyncGitlab2MSProject-0.0.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for SyncGitlab2MSProject-0.0.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cfb676c1e014bafef5685ad3dfd30235d21bbd3fcfc6de1523f426c6460eb479
MD5 00ae308b024f918b40f8ea82eb75d59b
BLAKE2b-256 abbb7a962741d29455a12b01b28a0939490e43a81428dcdb0ca6a9bdeabd6e7a

See more details on using hashes here.

Supported by

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