Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upGitLab integration with Wekan Rules Sync #2698
Comments
This comment has been minimized.
This comment has been minimized.
Nice start @xet7 !
I started a wekan board on the demo site: |
This comment has been minimized.
This comment has been minimized.
Please move your demo site to https://boards.wekan.team and invite me there instead and add BoardAdmin access to me, because there is newest Wekan. That https://wekan.indie.host is running old version of Wekan, and sometimes is not online. |
This comment has been minimized.
This comment has been minimized.
About your personal priority list, can you add to this issue screenshots or animated gifs to this issue (or link to them elsewhere) about LeanLabs UI, so I can see how that UI is different from Wekan. Wekan also has Cards (Tasks), Labels, Swimlanes (click top bar switch button Lists/Swimlanes/Calendar). |
This comment has been minimized.
This comment has been minimized.
Yes! I will do all that later today or tomorrow... but maybe you should update the Readme Doc so that the DEMO link points to the newest wekan - i just followed the link and added the board there... |
This comment has been minimized.
This comment has been minimized.
I updated readme, it had some old links. |
This comment has been minimized.
This comment has been minimized.
Unfortunately, leanlabs demo site is down, so i will try to get it running again connected to our gitlab instance... In the meantime i recreated the wekan board for this issue: |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I think one main thing that is different about the swimlanes in leanlabs is that they are data-driven based on the project and issues (not just horizontally manually named lanes like in Wekan) |
This comment has been minimized.
This comment has been minimized.
Both Gitlab Boards and lean labs are using labels to indicate which "list" the card belongs in. |
This comment has been minimized.
This comment has been minimized.
Yes, leanlabs is data-driven and Wekan is not yet, because data is not yet synced to Wekan. Wekan has roles like CommentOnly, where only comments are editable. So similar role can be added if something does not need to be editable. Wekan also has board Outgoing Webhooks, so board changes could be sent to GitLab with it, if there is some way at GitLab to receive it, or that way could be added to Wekan. |
This comment has been minimized.
This comment has been minimized.
Please add GitLab API docs URLs to these cards Description where I added you to card: I'm just a newbie on both LeanLabs and GitLab. I know only Wekan. Is there some docker-compose.yml that would start both LeanLabs and GitLab on localhost? I failed setting up them. |
This comment has been minimized.
This comment has been minimized.
Well, after failing to build and update LeanLabs kanban, I wrote this blogpost. |
This comment has been minimized.
This comment has been minimized.
Well, yeah staying agnostic is the key to enlightenment ; -) I think it will be best to use a library such as: |
This comment has been minimized.
This comment has been minimized.
Hello again after a long silence...
|
This comment has been minimized.
This comment has been minimized.
This way I will get better idea about what I should do. |
This comment has been minimized.
This comment has been minimized.
I'm keen to see this integration too. I also have a working Are there any other bits I can help with to push this forward? Here are the GitLab API docs by the way. I've used them myself, they're pretty comprehensive: |
This comment has been minimized.
This comment has been minimized.
Please add your working Problem with LeanLabs KanBan was, that I could not get newest repo version to compile. Maybe some previous release tag would work. I did make modifications to source code paths to point to my forked repo at my newly created GitHub org: From what I tested the installed version that @gotjoshua provided login to, LeanLabs kanban is very basic, minimal amount of features, and many bugs that do not exist in Wekan at all. LeanLabs kanban has the advantage that it is written in Go, so it uses much less RAM memory and disk space, and I presume it's one executeable binary, that is easy to crosscompile to multiple platforms. Compiling Go is very fast. I have programmed with Go, with the experience that Go binaries do crash very easily, I have not learned how to do error handling in Go properly. Wekan currently has about 30 000 Javascript files. When I try to unzip Wekan bundle on ReactOS, filesystem crashes, ReactOS can not handle that much files. Building Wekan is slow, so I use fast server that has NVME disk. I will continue doing GitLab integration. Problem is I made a mistake, I accepted more paid work to my todo list. And it's just me coding all those features, on my todo list. I do know how to code all these features, but problem is that it takes some time to code all those features. I can not promise that all those features will be ready immediately. |
This comment has been minimized.
This comment has been minimized.
@xet7 - thanks, your efforts are really appreciated. I think there would be a lot of interest in this bidirectional issue syncing with gitlab. Im a bit rusty with javascript but am happy to help. |
This comment has been minimized.
This comment has been minimized.
And regarding https://boards.wekan.team/b/7mPjujLn25K5hTDG4/wekan-gitlab-integration/nayBBMDqZ7sK39bFk - May I suggest that, rather than board-to-project mapping, that you have a board that can import selected issues from any gitlab project that the user has access to. The reasons for this are:
|
This comment has been minimized.
This comment has been minimized.
I agree, and still I would also love to have flexible swimlane options. the great thing about project to board mapping is that you can rearrange by assignee, author, priority, milestone, labels etc into swim lanes maybe it could be cool to have special dynamic swimlanes that would move cards vertically based on those parameters (but of course maintain their horizontal "list" position).
Wekan is already worlds apart from the primitive GitLab board... Another thought about the project-to-board vs individual issue-to-card syncing:
|
This comment has been minimized.
This comment has been minimized.
But is that evil ? Am I destroying business models of GitLab, Trello and Jira ? |
This comment has been minimized.
This comment has been minimized.
Hmm, I think I am not anywhere close of destroying GitLab/Trello/Jira, they still have a lot of customers. |
This comment has been minimized.
This comment has been minimized.
Here you go. Taken from https://gitlab.com/whirm/kanban/blob/master/docker-compose.yml. All I needed to do was clone the repo and run To set the OAuth side working, you need to use a GitLab account (sign-up is free), then create an Application, and you'll get the given the proxy:
image: leanlabs/nginx:1.0.1
volumes:
- "./build/conf.d:/etc/nginx/conf.d"
- "./build/certs:/etc/nginx/certs"
- "./build/sites-enabled:/etc/nginx/sites-enabled"
links:
- kanban:kanban
ports:
- "443:443"
- "80:80"
kanban:
image: leanlabs/kanban:1.7.2
environment:
# URL on which Leanlabs Kanban will be reachable
- KANBAN_SERVER_HOSTNAME=http://kanban.192.168.10.5.xip.io
# This string is used to generate user auth tokens
- KANBAN_SECURITY_SECRET=example2019
# Your GitLab host URL
- KANBAN_GITLAB_URL=https://gitlab.example.com
# Your GitLab OAuth client ID
- KANBAN_GITLAB_CLIENT=f9ad3039c4e3d9f614704988b7d6ad28c0af978642a28ec68a7313b7293892d9
# Your GitLab OAuth client secret key
- KANBAN_GITLAB_SECRET=19498ae2298002d1b78a898246f761463ac874f91b37195d757620dff5eeef38
# Wheter to enable sign up with user API token
- KANBAN_ENABLE_SIGNUP=true
# Redis server address - IP:PORT
- KANBAN_REDIS_ADDR=redis:6379
links:
- redis:redis
command: ./kanban server
redis:
image: leanlabs/redis:1.0.0
volumes:
- "/data:/data"
``` |
This comment has been minimized.
This comment has been minimized.
not sure if its a great idea to post your client ID and secret publicly... I usually also don't include them in my docker-compose, but rather as VARs in a .env file |
Moved to here from #109 as requested by GitLab integration Sponsor @gotjoshua . Currently @xet7 working on this issue, as first step here is Roadmap combined by @xet7 .
Wekan Sync to GitLab and back
About GitLab
Related: What else to sync with Wekan Rules
Related: Other Wekan platforms