GSoC Project: Probots and GitLab to GitHub Integration

2020-05-26 01:14
Written by
kartik1000 - member of the CiviCRM community - view blog guidelines

Brief Introduction:

Hi Everyone!, I am Kartik Kathuria and I will be working on the Project Probots and GitLab to GitHub Integration during the Summer with CiviCRM as part of GSoC. My mentors during the project are Eileen McNaughton and Saurabh Batra. I am really happy with the CiviCRM community as all the people here are quite active and helpful as well. Had it not been for some people from the community, I don't think I would have been able to involve and write a successful proposal for CiviCRM. I have been associated with CiviCRM for quite some-time now and have made some contributions to the civicrm-core as well. Here is a link to all my contributions.

Project Details:

The Project aims at automating the usual workflow around CiviCRM and also connecting the functioning on both GitHub and GitLab to each other. Currently CiviCRM has a working bot Probot-CiviCRM ( which does the task of making comments on Pull Request with a template which covers new-contributors to read contribution guidelines as well as let reviewer's know what parameters to cover while reviewing a Pull Request. The bot also possesses webhooks which with the help of Jenkins does the task of testing a Pull Request as well. My aim of the projects is to add some of the features to the existing civi-bot as well as create a new bot specifically for the purpose of GitLab and GitHub Integration.
These are my aims of the project in brief:
1. Implementing a stale-bot to close stale PRs and close them after some time without any response or commits.
2. Welcoming the new-contributors and congratulating the users for the first time contribution on both GitHub and GitLab.
3. Easy Adding desired labels to the PRs, by simply commenting on the Pull Requests.
4. GitLab to GitHub Integration
Adding issue reference to PRs:
Adding PR link to the respective issue in GitLab (using Node-GitLab)
Close issues directly from the Pull requests (using Node-GitLab)
5. Alerting users for conflicted-PRs.
6. Implementing the DCO (Developer Certificate of Origin) Test to ensure that the contributor agrees to some guidelines and to ensure originality of code as well.

If you have some suggestions related to the project, please free to let me know them on (mattermost) or mail me directly on

To see the project in more detail, you can move to

Community Bonding Period:

During the community bonding I got to know my fellow GSoCers from CiviCRM as well as had meetups with my mentors and organization administrators. I had two video call meetups with mentors and there we discussed the objectives of the project, how will we ensure effective communication to discuss various queries and how will we do the hosting work of the bots. It was also great discussing things with my mentors apart from just work and what they like to watch, their favorite pets, and many other things. Apart from this during the Bonding Period, I also got familiar with the codebase of existing civi-bot and have already set-up most of the requirements for the project on my laptop. At last, I will like to thanks all my mentors and other people from the CiviCRM Community which guided me to a successful selection. Now looking forward to working during the Summer.
I also thank the CiviCRM community for providing me this platform, to let the community members know about my work.

Filed under