GitHub Marketplace: Actions, Apps, and Integrations
GitHub Marketplace is the central hub for extending GitHub's core functionality with reusable, third-party (and first-party) tooling — most commonly reusable automation steps called Actions, and deeper integrations called Apps. Understanding the difference between these two, and how to evaluate them before installing, is essential for safely extending a repository's capabilities.
Learning Objectives
- Explain what GitHub Marketplace offers.
- Distinguish between a GitHub Action and a GitHub App.
- Use a Marketplace Action within a workflow file.
- Evaluate the safety and trustworthiness of a third-party Marketplace listing before installing it.
Key Terms to Know Before Using GitHub Marketplace
- GitHub Marketplace: A directory of tools and integrations that extend GitHub's functionality, including reusable Actions and installable Apps.
- GitHub Action: A reusable, shareable unit of automation, referenced within a workflow file and run as one step in an automated pipeline (such as CI/CD).
- GitHub App: A deeper integration installed at the account or organization level, capable of interacting with GitHub's API on an ongoing basis, often adding new UI elements or automated behaviors across repositories.
- Permissions scope: The specific set of access rights (such as read-only on issues, or write access to pull requests) an installed Action or App is granted.
How GitHub Marketplace Actually Works
GitHub Marketplace hosts two broadly distinct categories of extensions, and understanding which is which matters for how you use and evaluate them:
**GitHub Actions** are reusable, shareable units of automation, referenced from within a repository's workflow file (a topic best understood alongside CI/CD, briefly touched on elsewhere in this course) and run as one step in an automated pipeline. Rather than writing every automation step from scratch, you can reference a pre-built Action published to Marketplace — for example, an Action that automatically formats code, deploys to a specific cloud provider, or posts a Slack notification — by name and version, directly in your workflow configuration:
```
- uses: some-publisher/some-action@v1
```
Actions are typically narrowly scoped to a specific automated task, run only within the context of a workflow execution, and don't persist as an ongoing, always-present integration beyond that.
**GitHub Apps**, by contrast, are deeper, more persistent integrations, installed once at the account or organization level (rather than referenced individually within each workflow), capable of interacting with GitHub's API on an ongoing basis — adding new UI elements, automatically commenting on pull requests, running continuous checks, or integrating with an entirely external service (like a project management tool or a code quality scanner). Once installed, a GitHub App remains active across all the repositories it's been granted access to, rather than being invoked one-off within a single workflow step.
Both Actions and Apps request a specific **permissions scope** — exactly what they're allowed to access and do, such as read-only access to issues, or write access to pull requests — and it's important to review these requested permissions critically before installing anything from a third-party publisher, applying the same security-conscious mindset covered in Module 5's discussion of code review and trust. A useful evaluation checklist before installing any third-party Marketplace listing: check the publisher's reputation and verification status, review how many other users/stars the listing has, read through what permissions it's actually requesting (and whether those permissions make sense for its stated purpose), and consider whether a well-established, popular option exists rather than a lesser-known alternative with the same claimed functionality.
GitHub Actions vs GitHub Apps: Visual Walkthrough
Draw two contrasting integration types. LEFT labeled 'GitHub Action': a single workflow file with a step '- uses: publisher/action@v1', captioned 'Runs ONE TIME per workflow execution, scoped to that specific automation step.' RIGHT labeled 'GitHub App': an icon showing 'Installed once at account/org level' with arrows radiating out to multiple repository icons, captioned 'Remains ACTIVE ongoing, across all granted repositories — e.g., auto-commenting on every new PR.' Add a shared caution icon beneath both: 'Always review the requested permissions scope before installing any third-party listing.'
GitHub Actions vs GitHub Apps: Key Differences
| Aspect | GitHub Action | GitHub App |
|---|---|---|
| Scope | One automation step within a workflow | Persistent integration across granted repositories |
| Installation | Referenced by name/version in a workflow file | Installed once at account/org level |
| Lifespan | Runs only during a workflow execution | Remains active ongoing |
| Typical use case | A single CI/CD pipeline step (deploy, format, notify) | Ongoing behavior across repos (auto-commenting, continuous checks) |
Using a Marketplace Action: Workflow Example
# Example: using a Marketplace Action within a workflow file (.github/workflows/ci.yml)
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- run: npm install
- run: npm test
# Each '- uses: ...' line references a reusable Action published to GitHub Marketplace,
# rather than writing that setup/checkout logic from scratch.
Breaking Down the GitHub Marketplace Example
This workflow file demonstrates the typical way Marketplace Actions are consumed: rather than manually writing logic to check out the repository's code or set up a specific Node.js version, the workflow simply references two well-established, publicly published Actions (`actions/checkout` and `actions/setup-node`) by name and version. This is far more common in day-to-day GitHub use than installing a full GitHub App, since most developers interact with Marketplace primarily through these reusable workflow steps rather than account-level app installations.
How GitHub Marketplace Is Used on Real Engineering Teams
- CI/CD pipelines built with GitHub Actions almost universally rely on well-established Marketplace Actions for common setup tasks (checking out code, setting up a language runtime, caching dependencies) rather than reimplementing this logic from scratch in every project.
- Popular GitHub Apps like automated code quality scanners, dependency vulnerability checkers, and project management integrations are widely installed across organizations to add persistent, ongoing functionality beyond what a single workflow step provides.
- Security-conscious engineering teams often maintain an internal approved list of vetted Marketplace Actions and Apps, requiring review before anything new is adopted, given the elevated trust and access level these integrations can require.
- Popular publishers of Marketplace Actions (like GitHub's own official actions/ organization) are generally considered higher-trust starting points compared to lesser-known, unverified third-party publishers offering similar functionality.
GitHub Marketplace Interview Questions and Answers
Q1. What is the difference between a GitHub Action and a GitHub App?
A GitHub Action is a reusable unit of automation referenced within a workflow file, running as a single step during a specific workflow execution. A GitHub App is a deeper, more persistent integration installed once at the account or organization level, remaining active on an ongoing basis across all repositories it's been granted access to, rather than being invoked one-off within a workflow.
Q2. Why is it important to review the permissions scope of a third-party Marketplace listing before installing it?
Both Actions and Apps request specific access rights, such as read or write permissions on issues or pull requests. Reviewing these permissions critically — and confirming they align with the listing's stated purpose — helps avoid granting excessive or unnecessary access to a third-party integration, applying the same security-conscious mindset used when evaluating any external trust relationship.
Q3. How would you reference a reusable Marketplace Action within a GitHub Actions workflow file?
Using a 'uses' step referencing the Action's publisher, name, and a version, such as uses: actions/checkout@v4, which runs that pre-built automation logic as one step in the workflow, rather than writing that logic from scratch.
GitHub Marketplace Quiz: Test Your Understanding
1. What is the key difference in lifespan between a GitHub Action and a GitHub App?
- They have identical lifespans
- An Action runs only during a specific workflow execution; an App remains persistently active once installed
- An App only runs once; an Action remains persistently active
- Neither has any defined lifespan
Answer: B. An Action runs only during a specific workflow execution; an App remains persistently active once installed
Explanation: A GitHub Action is scoped to a single automation step within a workflow run, while a GitHub App, once installed, remains an ongoing, persistent integration across its granted repositories.
2. Where is a GitHub Action typically referenced and used?
- Installed at the account level
- Referenced by name and version within a workflow file
- Only accessible through the Marketplace website itself
- Embedded directly into a repository's README
Answer: B. Referenced by name and version within a workflow file
Explanation: Actions are consumed by referencing them (with a 'uses' step, including publisher, name, and version) directly inside a workflow configuration file, running as one step in that automation.
3. What should you review before installing a third-party listing from GitHub Marketplace?
- Only its price
- Its requested permissions scope, publisher reputation, and popularity/trust signals
- Nothing — all Marketplace listings are automatically vetted and safe
- Only its listed name
Answer: B. Its requested permissions scope, publisher reputation, and popularity/trust signals
Explanation: Since third-party Actions and Apps request specific access to your repositories or account, it's important to critically evaluate their requested permissions, the publisher's reputation, and general trust signals before installing anything.
Common Mistakes When Using GitHub Marketplace
- Confusing a GitHub Action (a single workflow step) with a GitHub App (a persistent, account-level integration), leading to wrong expectations about scope and behavior.
- Installing a third-party Marketplace listing without reviewing its requested permissions scope, granting more access than actually necessary.
- Choosing an obscure, unverified publisher's listing over a well-established, popular alternative offering equivalent functionality.
- Assuming every Marketplace listing is automatically vetted and safe by GitHub, rather than applying independent critical evaluation before installing.
GitHub Marketplace: Exam-Ready Quick Notes
- GitHub Action: reusable automation step, referenced in a workflow file via 'uses', scoped to one workflow execution.
- GitHub App: persistent integration, installed once at account/org level, remains active ongoing across granted repos.
- Both request a permissions scope — always review before installing a third-party listing.
- Evaluation checklist: publisher reputation, popularity/trust signals, whether requested permissions align with stated purpose.
GitHub Marketplace: Key Takeaways
- GitHub Marketplace offers two distinct extension types: reusable, workflow-scoped Actions and persistent, account-level Apps.
- Actions are consumed by referencing them directly within a workflow file, while Apps are installed once and remain ongoing.
- Critically reviewing a third-party listing's requested permissions and publisher trustworthiness is an essential security practice before installing anything.
Frequently Asked Questions About GitHub Marketplace
Q1. What is GitHub Marketplace?
It's a directory of tools and integrations that extend GitHub's functionality, primarily consisting of reusable Actions (automation steps for workflows) and installable Apps (persistent, deeper integrations).
Q2. What is the difference between a GitHub Action and a GitHub App?
A GitHub Action is a reusable automation step referenced within a workflow file, running only during that workflow's execution. A GitHub App is a more persistent integration installed once at the account or organization level, remaining active on an ongoing basis across its granted repositories.
Q3. How do I use a Marketplace Action in my project?
Reference it directly within a workflow file using a 'uses' step, specifying the Action's publisher, name, and a version, such as uses: actions/checkout@v4, which runs that Action's logic as one step in your automated pipeline.
Q4. Why should I be careful before installing a third-party integration from Marketplace?
Both Actions and Apps request a specific set of permissions to access your repositories or account. It's important to review these requested permissions, along with the publisher's reputation and popularity, before installing anything to avoid granting excessive or unnecessary access.
Q5. Are all GitHub Marketplace listings automatically safe to use?
Not automatically. While Marketplace provides a central directory, it's still important to independently evaluate a listing's publisher reputation, requested permissions, and trust signals (like popularity) before installing it, rather than assuming every listing has been fully vetted.
Summary
GitHub Marketplace hosts two broadly distinct types of extensions. GitHub Actions are reusable, shareable units of automation, referenced by name and version directly within a workflow file and run as one step during a specific workflow execution — the far more commonly encountered category in everyday GitHub use, especially for CI/CD pipelines. GitHub Apps are deeper, more persistent integrations, installed once at the account or organization level, remaining ongoing and active across all granted repositories rather than being invoked one-off. Both request a specific permissions scope, and it's essential to critically review these requested permissions, along with a publisher's reputation and general trust signals, before installing any third-party listing — applying the same security-conscious evaluation mindset relevant throughout this course whenever granting access to external tooling.