Skip to main content

Builtin actions

The scaffolder comes with several built-in actions for fetching content, registering in the catalog and of course actions for creating and publishing a git repository.

Action Modules

There are several action modules that are available to be added:

  • Azure DevOps: @backstage/plugin-scaffolder-backend-module-azure
  • Bitbucket Cloud: @backstage/plugin-scaffolder-backend-module-bitbucket-cloud
  • Bitbucket Server: @backstage/plugin-scaffolder-backend-module-bitbucket-server
  • Gerrit: @backstage/plugin-scaffolder-backend-module-gerrit
  • Gitea: @backstage/plugin-scaffolder-backend-module-gitea
  • GitHub: @backstage/plugin-scaffolder-backend-module-github
  • GitLab: @backstage/plugin-scaffolder-backend-module-gitlab
  • Rails: @backstage/plugin-scaffolder-backend-module-rails
  • Yeoman: @backstage/plugin-scaffolder-backend-module-yeoman
  • Sentry: @backstage/plugin-scaffolder-backend-module-sentry
  • Cookiecutter: @backstage/plugin-scaffolder-backend-module-cookiecutter

Installing Action Modules

Here's how to add an action module, first you need to run this command:

From your Backstage root directory
yarn --cwd packages/backend add @backstage/plugin-scaffolder-backend-module-github

Then you need to add it to your backend, this is a simplified backend system for example purposes:

/packages/backend/src/index.ts
import { createBackend } from '@backstage/backend-defaults';

const backend = createBackend();

backend.add(import('@backstage/plugin-app-backend'));

backend.add(import('@backstage/plugin-catalog-backend'));
backend.add(
import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'),
);

// scaffolder plugin
backend.add(import('@backstage/plugin-scaffolder-backend'));
backend.add(import('@backstage/plugin-scaffolder-backend-module-github'));

backend.start();

Listing Actions

A list of all registered actions can be found under /create/actions. For local development you should be able to reach them at http://localhost:3000/create/actions.