What Is GitHub Marketplace

GitHub Marketplace - An Overview

In 2017, GitHub launched a remarkable feature for companies and organizations to market their products to almost 25 million developers and sell their applications to the fastest-growing community of developers. GitHub Marketplace is a platform that enables the discovery and purchase of applications throughout the development process, making it a prospective platform to target a substantial set of audience. This marketplace has amplified a developer's GitHub experience by a marginal amount, mainly because it offers seamless billing and streamlined workflow. 

An Introduction to GitHub Marketplace

GitHub Marketplace is a directory extending into the following categories: Chat, Code Quality, Dependency, Deployment, Localization, Memory Management, Publishing, Security, Testing, Utilities, and several more. The high quality of these applications at GitHub Marketplace is efficiently maintained due to a comprehensive evaluation process consisting of Brand Listings, UX, Security, and Billing flows.

GitHub Applications VS GitHub Actions

GitHub Applications, formerly known as integrations, improve and automate workflow for developers using GitHub. Companies can sell their applications on GitHub Marketplace. GitHub Applications work independently, and any individual or organizational account can install and utilize these applications. While installing GitHub Apps, account holders can explicitly grant permissions to specific repositories. 

An Introduction to GitHub Marketplace

There are two kinds of GitHub Apps available on GitHub Marketplace: Apps and OAuth Apps. While Apps require access to specific repositories, OAuth apps have access to all the repositories in the particular account - be it individual or companies'. The difference between the two is that OAuth Apps use GitHub to authenticate the user. 

GitHub Marketplace offers customized rates depending on the functionality. As per the website, there are no charges for basic features for an individual or an organization. The most popular package is their Team package, which offers advanced collaboration for as low as $4 per user per month; however, their Enterprise package comes with advanced features such as flexible deployment, security, and compliance for $21 per user per month. 

As for GitHub Actions, these are customized tasks and workflows that communicate with repositories. GitHub Actions are individual tasks written by users to automate their workflow, thus automating CI/CD pipelines, building, deploying, and testing applications. The individual developers can not only write their actions but can also share them with the GitHub community. Furthermore, they can also utilize the custom actions shared by other developers. 

An Introduction to GitHub Marketplace

GitHub actions are written in YAML files, which consist of jobs and steps. Users can build GitHub Actions as Docker containers (suitable for Linux) or JavaScript Elements (suitable for Windows, Linux, and macOS) to interact with GitHub API or any other public API. For the pricing plan, GitHub Actions are Free for open-source. Additional hosted minutes and their charges are mentioned here. It is always recommended to create a README file for the actions to include all the important details such as its description, input and output parameters, examples on how to utilize the actions, etc. 

Some Recommended Apps and Actions

The GitHub Marketplace consists of both actions and applications. The website presents a consistent and appealing UI for searching the required type. It further filters the search according to the best match, recently added, and most installed/starred. 

Below are some of the top-rated GitHub Marketplace Apps and Actions that easily integrate with GitHub and automate a developer's workflow. 

GitHub Marketplace Applications - A Few Examples

CodeFactor

CodeFactor is a marketplace app that reviews every piece of code that is committed on GitHub while providing an actionable review almost instantly. This app supports up to 7 languages: C, C++, C#, Java, PHP, Python, JavaScript, Ruby, and Scala. It also provides an insight into the quality of the project as well as improving the quality of the code. The documentation for this application can be accessed here

CircleCI

CircleCI is another top recommended app available on GitHub Marketplace. This app enables the users to view the status of their workflows in the GitHub UI. CircleCI has minimum setup time, scalability, and great CI/CD tools that are environment-independent. 

ZenHub

While there are several apps to streamline building, testing, and deploying, ZenHub is the project management app that offers transparency to project managers in the development cycle. ZenHub integrates within GitHub UI and does not require lengthy configurations or separate logins. Moreover, it has some great development companies onboard like Microsoft, Docker, Adobe, Leap Motion, and NASA. The app helps the project managers with tracking dependencies and planning sprints for tracking and better collaborating. ZenHub provides a complete guide on their API from here

WakaTime

With more than 78 thousand installations, WakaTime, a productivity and time tracking app, provides a report by monitoring a user's programming activity on GitHub. The application is powered by open-source IDE plugins. It breaks down programming activity and also provides a visual representation of the coding languages used by the programmer.

An Introduction to GitHub Marketplace

Sentry

Trusted by top companies like Airbnb and Dropbox, Sentry by getsentry offers an insight into real-time error and crash reporting. This app supports cross-platform libraries, languages, and frameworks and also gives flexibility for customizable error notifications.

An Introduction to GitHub Marketplace

GitHub Marketplace Actions - A Few Examples

Super-Linter

Super-Linter is a code quality review action that validates the source code. It is written in a simple bash script and prevents the master or main branch from having the broken code. The Super-Linter repository can be accessed from this site.

An Introduction to GitHub Marketplace

Metrics embed

As the name implies, this action allows users to generate customizable metrics with the help of hundreds of templates and plugins options and embed them everywhere - even in the user’s GitHub profile! It is one of the GitHub Actions features on Product Hunt. The details on how-tos and customizable templates and plugins options are available here.

Close Stale Issues

Close Stale Issues is a simple GitHub Action designed to facilitate developers by automatically closing issues that are no longer active or have gone stale. These issues usually did not witness any activity for a certain period. There are different configurations with this action; a default configuration usually closes an issue a week after labeling an issue as stale. 

Conclusion - Final Notes

For a developer, GitHub Applications and Github Actions are a good start, to begin with. In general, both provide automation and workflow ease, but each of these offers capabilities that differentiate them from the other. Built with a wide variety of apps to choose from, Github Applications make tasks easy, provide security, and boost productivity while Github Actions provide continuous deployment and integrations. This article focused upon the difference between the two and presented a few recommended tools from both domains to provide an overview of their strengths.