gitlab_to_org_mode performs a one-time migration of all issues in a GitLab
PostgreSQL database to .org and .org_archive files that can be edited with
org-mode. It will probably not do exactly what you need,
but it should be easy enough to modify.
The output is one file per GitLab project with:
* TODO Issue title of an open issue
- State "TODO" from [2016-08-31 Wed 21:03]
Issue description
** First line of comment #1
The rest of comment #1
** First line of comment #2
The rest of comment #2
* DONE Issue title of a closed issue
- State "DONE" from "TODO" [2017-04-01 Wed 19:41]
- State "TODO" from [2016-08-31 Wed 21:03]
Issue description
All DONE issues go into an .org_archive file instead of an .org file.
- Authorship/user information is ignored
- Timestamps on comments are ignored
- Deleted issues will reappear as not-deleted items
- Asterisks in issue descriptions may create sibling items
- First line of a comment on an issue is assumed to be a good child headline
- Issue labels are not included as tags in the output, but you can modify
lib/converter.exto send them to different files (or fix it to output tags). .org_archivefiles are missing the# -*- mode: org -*-header, so add this to your~/.emacs.d/init.el:(add-to-list 'auto-mode-alist '("\\.org_archive$" . org-mode))
- Install Erlang
- Install Elixir and make sure
mixis in yourPATH. git clonethis repocd gitlab_to_org_mode- Edit
config/config.exsto point to your GitLab PostgreSQL database - Edit
dest_filenameinlib/converter.exto map your GitLab projects to org filenames mix deps.getmix escript.build./gitlab_to_org_mode- Carefully inspect the
.organd.org_archivefiles created in the current working directory.