GitHub is probably one of the most popular platforms in the dev community, one of the most used (right next to other platforms like Stackoverflow). It lets you publicize your projects, manage them, and even find others to help with their open source efforts. One thing we often don’t really pay attention to is its ability to integrate into other systems. Yes, GitHub is not just where you put your projects to others, it can serve as a stepping stone to many other platforms and systems out there and in this article, I will introduce for you. What are the top integrations with GitHub you can find (and can use as well).
1. IDE integration
Every developer needs an IDE or Text Editor, and you won’t be able to program without it. So let’s start with the integrations in the IDE.There are a lot of IDEs, Text editors out there, depending on your programming language, but some of the most popular IDEs are likely to include plugins or extensions. and so users decided to add some integration with GitHub
Ignoring a lot of extensions that are only compatible with Git, there are some that allow you to communicate with GitHub’s PR Api, such as: GitHub Pull Requests
This extension allows you to review and manage your PR right there, from within the IDE. If you are running projects with large PR volumes, this may be an interesting option to consider.
This is one of the very popular Text editors before VSCode and I think many people still use it.
And as before, there are many git-specific plugins that you can use, but what I would recommend is: sublime-github
This gives you access to features like opening a direclty gist on the editor window or creating a new gist from the code you’ve selected. Very useful for quick and easy actions that through this plugin can save you a lot of time.
The last IDE I want to present is IntelliJ, another very popular IDE that is compatible with many different programming languages.
This IDE provides a lot of integrations, all you need to do is enter your GitHub account information and then start interacting with various features. You can create or copy projects, open versions of files directly in GitHub (i.e. if you are working on a specific file and need to check the initial version of GitHub, you can do it with a few (clicks) as well as create gist directly from the IDE.
2. Issue tracker
Another interesting feature that GitHub offers, is the ability to handle project issues using their API, which means there are a number of external options that you can use to expand concepts and submit them. Watch the issue on GitHub.
This is probably one of the best platforms that works on GitHub issues and extends its features.
With Glo Boards, you can not only visualize issues on the kanban board, you can also schedule them directly with a very intuitive user interface by dragging and dropping issues onto the calendar.
If you are trying to handle a team (especially now with a high demand for remote group management skills) then this option is a simple and powerful way to organize the work to be done.
Bit.dev is a popular cloud component center. It is the place to publish, document, and organize JS components (React, Angular, Vue, etc.)
By using Bit, individual components can be published from any code archive / base. That means it is not only a tool for building design systems but also a tool for component collaboration.
Bit recently launched with the new BitDevBot, the Github bot automates PR requests into the repository with imported components. Therefore, whenever an element is updated, all relevant repositories are prompted to merge new changes. This is not only a way to ensure users of components never miss important updates, but also a way to receive component updates while keeping local changes made. for a component in a specific project.
A very popular platform for this type of interaction is Slack, after all, many companies tend to use slack rooms so that their employees chat with each other and share information based on the theme of each room. .
Developers from GitHub have released an integration with Slack, allowing you to view details from a repo based on a single link, subscribe to a repository with a single command, or manage issues. as if you were having a conversation with a colleague.
4. Continuous Integration
When it comes to continuous integration solutions, the market has some great options and most of them all have some sort of integration with GitHub.
This CI / CD integrates with GitHub allowing you to monitor their pipelines directly from within the GitHub UI. You can find the integration directly in GitHub’s marketplace. .
Another option for an integrated deployment and deployment platform is TravisCI.
If your team is using GitHub for their main version control platform, integrating it into a TravisCI pipeline and automating the entire integration & deployment process is as easy as clicking on a few links. .
Sometimes someone in your team checks your code for security holes that once exist or even patterns that can be exploited. Luckily for you, there are a number of options integrated with our favorite version control platform.
Instead of focusing on developers, this integration is for developers, to help them check for vulnerabilities on their configuration files.
For example, it will look for things like AWS CloudFormation Templates, HashiCorp Terraform templates, etc. and scan them to check for potential defects. This is a must, especially if you are trying to automate the entire deployment process through GitHub and any deployment platforms that integrate with it.
6. Code review
GitHub has a number of review code features included, especially as part of the PR interface.
That being said, there’s nothing wrong with integrating a number of applications that can automate the process and at least, check your code for clear issues and a free reviewer to review your code. and find really relevant issues (such as problems with the logic intended for functionality).
Such an application is DeepSource , which helps analyze your code and check for some potential issues, but unlike LGTM and Prisma Cloud, these issues are related to potential errors, performance issues. and other issues. They even go so far as to automatically create problems for your issues and propose solutions for some of them.
7. Dependency management
Dependency management is a big part of our daily tasks as a developer, whether we realize it or not. The wheel was invented, and you use it, but are you sure the wheel is the best and the best?
Nobody can say that we can trust the owners of those Dependency? Who said that the code is perfect and has no bugs or performance issues? Although not the only language available, here I will talk about Node.js and here is an integration you might be interested in: DepChecker-Bot
It will analyze your npm dependency and issue warnings about potential dangers.
The final integration with GitHub I want to mention is Heroku , which allows you to deploy and run your application without worrying about any type of infrastructure or custom deployment script. tune up.
Heroku takes care of everything for you and with this integration you can automate successful merging branches to deploy or even have evaluation applications, compiled from each PR received to You check manually in case that is part of your deployment process.