Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@backstage/plugin-scaffolder-backend-module-github

backstage322.2kApache-2.00.9.2TypeScript support: included

The github module for @backstage/plugin-scaffolder-backend

readme

[!NOTE] ✈️ From Monday November 10th through November 14rd, several maintainers and Spotify employees will be at KubeCon / BackstageCon! Expect the project to move a little slower than normal, and support to be limited. Normal service will resume after that! And do come visit our booth if you are there. ✈️

headline

Backstage

English | 한국어 | 中文版 | Français

License CNCF Status Discord Code style Codecov OpenSSF Best Practices OpenSSF Scorecard

What is Backstage?

Backstage is an open source framework for building developer portals. Powered by a centralized software catalog, Backstage restores order to your microservices and infrastructure and enables your product teams to ship high-quality code quickly without compromising autonomy.

Backstage unifies all your infrastructure tooling, services, and documentation to create a streamlined development environment from end to end.

software-catalog

Out of the box, Backstage includes:

  • Backstage Software Catalog for managing all your software such as microservices, libraries, data pipelines, websites, and ML models
  • Backstage Software Templates for quickly spinning up new projects and standardizing your tooling with your organization’s best practices
  • Backstage TechDocs for making it easy to create, maintain, find, and use technical documentation, using a "docs like code" approach
  • Plus, a growing ecosystem of open source plugins that further expand Backstage’s customizability and functionality

Backstage was created by Spotify but is now hosted by the Cloud Native Computing Foundation (CNCF) as an Incubation level project. For more information, see the announcement.

Project roadmap

For information about the detailed project roadmap including delivered milestones, see the Roadmap.

Getting Started

To start using Backstage, see the Getting Started documentation.

Documentation

The documentation of Backstage includes:

Community

To engage with our community, you can use the following resources:

Governance

See the GOVERNANCE.md document in the backstage/community repository.

License

Copyright 2020-2025 © The Backstage Authors. All rights reserved. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page: https://www.linuxfoundation.org/trademark-usage

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

Security

Please report sensitive security issues using Spotify's bug-bounty program rather than GitHub.

For further details, see our complete security release process.

changelog

@backstage/plugin-scaffolder-backend-module-github

0.9.2

Patch Changes

0.9.2-next.1

Patch Changes

0.9.2-next.0

Patch Changes

0.9.1

Patch Changes

0.9.1-next.1

Patch Changes

0.9.1-next.0

Patch Changes

0.9.0

Minor Changes

  • f0f06b4: Adding a new scaffolder action github:issues:create following the reference of github:issues:label with dryRun testing possibility

    It can be used like this

      steps:
        - id: create-simple-issue
          name: Create Simple Issue
          action: github:issues:create
          input:
            repoUrl: ${{ parameters.repoUrl }}
            title: "[${{ parameters.projectName }}] Simple Bug Report"
            body: |
              ## Bug Description
              This is a simple bug report created by the scaffolder template.
    
              ### Steps to Reproduce
              1. Run the application
              2. Navigate to the main page
              3. Click on the problematic button
    
              ### Expected Behavior
              The button should work correctly.
    
              ### Actual Behavior
              The button does not respond to clicks.
      output:
        links:
          - title: Simple Issue
            url: ${{ steps['create-simple-issue'].output.issueUrl }}

Patch Changes

0.8.3-next.1

Patch Changes

0.8.3-next.0

Patch Changes

0.8.2

Patch Changes

0.8.2-next.1

Patch Changes

  • a22cce0: Fixed bug in the customProperties type which was preventing it being used to set a list of values against a key (e.g. for multi-select fields)

0.8.2-next.0

Patch Changes

0.8.1

Patch Changes

0.8.1-next.2

Patch Changes

0.8.1-next.1

Patch Changes

0.8.1-next.0

Patch Changes

0.8.0

Minor Changes

  • 5863b04: BREAKING CHANGES

    The createGithubEnvironmentAction action no longer requires an AuthService, and now accepts a CatalogService instead of CatalogClient.

    Unless you're providing your own override action to the default, this should be a non-breaking change.

    You can migrate using the following if you're getting typescript errors:

    import { catalogServiceRef } from '@backstage/plugin-catalog-node';
    import { scaffolderActionsExtensionPoint } from '@backstage/plugin-scaffolder-node/alpha';
    
    export const myModule = createBackendModule({
      pluginId: 'scaffolder',
      moduleId: 'test',
      register({ registerInit }) {
        registerInit({
          deps: {
            scaffolder: scaffolderActionsExtensionPoint,
            catalog: catalogServiceRef,
          },
          async init({ scaffolder, catalog }) {
            scaffolder.addActions(
              createGithubEnvironmentAction({
                catalog,
              }),
            );
          },
        });
      },
    });

Patch Changes

0.8.0-next.2

Minor Changes

  • 5863b04: BREAKING CHANGES

    The createGithubEnvironmentAction action no longer requires an AuthService, and now accepts a CatalogService instead of CatalogClient.

    Unless you're providing your own override action to the default, this should be a non-breaking change.

    You can migrate using the following if you're getting typescript errors:

    import { catalogServiceRef } from '@backstage/plugin-catalog-node';
    import { scaffolderActionsExtensionPoint } from '@backstage/plugin-scaffolder-node/alpha';
    
    export const myModule = createBackendModule({
      pluginId: 'scaffolder',
      moduleId: 'test',
      register({ registerInit }) {
        registerInit({
          deps: {
            scaffolder: scaffolderActionsExtensionPoint,
            catalog: catalogServiceRef,
          },
          async init({ scaffolder, catalog }) {
            scaffolder.addActions(
              createGithubEnvironmentAction({
                catalog,
              }),
            );
          },
        });
      },
    });

Patch Changes

0.7.2-next.1

Patch Changes

0.7.2-next.0

Patch Changes

0.7.1

Patch Changes

0.7.1-next.3

Patch Changes

0.7.1-next.2

Patch Changes

0.7.1-next.1

Patch Changes

0.7.1-next.0

Patch Changes

0.7.0

Minor Changes

  • c761cf5: BREAKING The publish:github scaffolder action now defaults to initializing with a branch named "main" instead of "master" when creating new repositories.

    If you or your organization have relied on all new github repositories having a default branch name of "master" you must set the defaultBranch: 'master' in your existing templates that feature the publish:github scaffolder action.

    To keep using the name "master" for your new github repos, these are the required changes:

        - id: publish
          name: Publish
          action: publish:github
          input:
            allowedHosts: ['github.com']
            description: This is ${{ parameters.name }}
            repoUrl: ${{ parameters.repoUrl }}
    +       defaultBranch: 'master'

Patch Changes

0.6.2-next.2

Patch Changes

0.6.2-next.1

Patch Changes

0.6.2-next.0

Patch Changes

0.6.1

Patch Changes

0.6.1-next.2

Patch Changes

0.6.1-next.1

Patch Changes

0.6.1-next.0

Patch Changes

0.6.0

Minor Changes

  • bb8302b: BREAKING: The remoteUrl output is no longer required, it can be empty only when using the new createWhenEmpty boolean flag.

Patch Changes

0.6.0-next.2

Minor Changes

  • bb8302b: BREAKING: The remoteUrl output is no longer required, it can be empty only when using the new createWhenEmpty boolean flag.

Patch Changes

0.5.6-next.1

Patch Changes

0.5.6-next.0

Patch Changes

0.5.5

Patch Changes

0.5.5-next.2

Patch Changes

0.5.5-next.1

Patch Changes

  • edaf925: Updates to allow users to subscribe to the newly created repository within GitHub to mimic similar functionality found within the GitHub UI.

0.5.5-next.0

Patch Changes

0.5.4

Patch Changes

0.5.4-next.2

Patch Changes

0.5.4-next.1

Patch Changes

0.5.3-next.0

Patch Changes

0.5.2

Patch Changes

0.5.2-next.3

Patch Changes

0.5.2-next.2

Patch Changes

0.5.2-next.1

Patch Changes

0.5.2-next.0

Patch Changes

0.5.1

Patch Changes

0.5.1-next.2

Patch Changes

0.5.1-next.1

Patch Changes

0.5.1-next.0

Patch Changes

0.5.0

Minor Changes

  • d425fc4: BREAKING: The return values from createBackendPlugin, createBackendModule, and createServiceFactory are now simply BackendFeature and ServiceFactory, instead of the previously deprecated form of a function that returns them. For this reason, createServiceFactory also no longer accepts the callback form where you provide direct options to the service. This also affects all coreServices.* service refs.

    This may in particular affect tests; if you were effectively doing createBackendModule({...})() (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your packages/backend/src/index.ts too, where you add plugins, modules, and services. If you were using createServiceFactory with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.

    As part of this change, the IdentityFactoryOptions type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to migrate to the new auth system if you still rely on it.

Patch Changes

0.5.0-next.2

Patch Changes

0.5.0-next.1

Patch Changes

0.5.0-next.0

Minor Changes

  • d425fc4: BREAKING: The return values from createBackendPlugin, createBackendModule, and createServiceFactory are now simply BackendFeature and ServiceFactory, instead of the previously deprecated form of a function that returns them. For this reason, createServiceFactory also no longer accepts the callback form where you provide direct options to the service. This also affects all coreServices.* service refs.

    This may in particular affect tests; if you were effectively doing createBackendModule({...})() (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your packages/backend/src/index.ts too, where you add plugins, modules, and services. If you were using createServiceFactory with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.

    As part of this change, the IdentityFactoryOptions type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to migrate to the new auth system if you still rely on it.

Patch Changes

0.4.1

Patch Changes

0.4.1-next.3

Patch Changes

0.4.1-next.2

Patch Changes

0.4.1-next.1

Patch Changes

0.4.1-next.0

Patch Changes

0.4.0

Minor Changes

  • 70c4b36: Adds support for custom tag policies when creating GitHub environments.

Patch Changes

0.4.0-next.1

Patch Changes

0.4.0-next.0

Minor Changes

  • 70c4b36: Adds support for custom tag policies when creating GitHub environments.

Patch Changes

0.3.0

Minor Changes

  • 403394a: Allow empty author info in createPullRequest action for Github

Patch Changes

0.3.0-next.3

Patch Changes

0.3.0-next.2

Minor Changes

  • 403394a: Allow empty author info in createPullRequest action for Github

Patch Changes

0.2.9-next.1

Patch Changes

0.2.9-next.0

Patch Changes

0.2.8

Patch Changes

0.2.8-next.2

Patch Changes

0.2.8-next.1

Patch Changes

0.2.8-next.0

Patch Changes

0.2.7

Patch Changes

0.2.7-next.1

Patch Changes

0.2.7-next.0

Patch Changes

0.2.6

Patch Changes

0.2.5

Patch Changes

0.2.4

Patch Changes

0.2.4-next.2

Patch Changes

0.2.4-next.1

Patch Changes

0.2.3-next.0

Patch Changes

0.2.0

Minor Changes

  • fd5eb1c: Allow to force the creation of a pull request from a forked repository
  • 3d5c668: support oidc customization

Patch Changes

0.2.0-next.3

Patch Changes

0.2.0-next.2

Patch Changes

0.2.0-next.1

Minor Changes

  • fd5eb1c: Allow to force the creation of a pull request from a forked repository

Patch Changes

0.1.2-next.0

Patch Changes

0.1.1

Patch Changes

0.1.1-next.2

Patch Changes

0.1.1-next.1

Patch Changes

0.1.1-next.0

Patch Changes

0.1.0

Minor Changes

  • 219d7f0: Create new scaffolder module for external integrations

Patch Changes

0.1.0-next.0

Minor Changes

  • 219d7f0: Create new scaffolder module for external integrations

Patch Changes