Merge pull request #10063 from backstage/blam/last-of-v2

🧹 Documentation changes for some scaffolder packages
This commit is contained in:
Ben Lambert
2022-03-08 14:27:07 +00:00
committed by GitHub
8 changed files with 93 additions and 61 deletions
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/plugin-scaffolder-backend': patch
'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch
'@backstage/plugin-scaffolder-backend-module-rails': patch
'@backstage/plugin-scaffolder-backend-module-yeoman': patch
---
Updating documentation for supporting `apiVersion: scaffolder.backstage.io/v1beta3`
@@ -162,6 +162,24 @@ away in future versions and the `RepoUrlPicker` will return an object so
`parameters.repoUrl` will already be a
`{ host: string; owner: string; repo: string }` 🚀
## Links should be used instead of named outputs
Previously, it was possible to provide links to the frontend using the named output `entityRef` and `remoteUrl`.
These should be moved to `links` under the `output` object instead.
```diff
output:
- remoteUrl: '{{ steps.publish.output.remoteUrl }}'
- entityRef: '{{ steps.register.output.entityRef }}'
+ links:
+ - title: Repository
+ url: ${{ steps.publish.output.remoteUrl }}
+ - title: Open in catalog
+ icon: catalog
+ entityRef: ${{ steps.register.output.entityRef }}
```
### Summary
Of course, we're always available on [discord](https://discord.gg/MUpMjP2) if
@@ -141,7 +141,7 @@ Once it's been passed to the `ScaffolderPage` you should now be able to use the
Something like this:
```yaml
apiVersion: backstage.io/v1beta2
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: Test template
@@ -44,7 +44,7 @@ return await createRouter({
After that you can use the action in your template:
```yaml
apiVersion: backstage.io/v1beta2
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: cookiecutter-demo
@@ -109,30 +109,31 @@ spec:
input:
url: ./template
values:
name: '{{ parameters.name }}'
owner: '{{ parameters.owner }}'
system: '{{ parameters.system }}'
destination: '{{ parseRepoUrl parameters.repoUrl }}'
name: ${{ parameters.name }}
owner: ${{ parameters.owner }}
system: ${{ parameters.system }}
destination: ${{ parameters.repoUrl | parseRepoUrl }}
- id: publish
if: '{{ not parameters.dryRun }}'
if: ${{ parameters.dryRun !== true }}
name: Publish
action: publish:github
input:
allowedHosts: ['github.com']
description: 'This is {{ parameters.name }}'
repoUrl: '{{ parameters.repoUrl }}'
allowedHosts:
- github.com
description: This is ${{ parameters.name }}
repoUrl: ${{ parameters.repoUrl }}
- id: register
if: '{{ not parameters.dryRun }}'
if: ${{ parameters.dryRun !== true }}
name: Register
action: catalog:register
input:
repoContentsUrl: '{{ steps.publish.output.repoContentsUrl }}'
repoContentsUrl: ${{ steps.publish.output.repoContentsUrl }}
catalogInfoPath: '/catalog-info.yaml'
- name: Results
if: '{{ parameters.dryRun }}'
if: ${{ parameters.dryRun }}
action: debug:log
input:
listWorkspace: true
@@ -140,10 +141,10 @@ spec:
output:
links:
- title: Repository
url: '{{ steps.publish.output.remoteUrl }}'
url: ${{ steps.publish.output.remoteUrl }}
- title: Open in catalog
icon: 'catalog'
entityRef: '{{ steps.register.output.entityRef }}'
icon: catalog
entityRef: ${{ steps.register.output.entityRef }}
```
You can also visit the `/create/actions` route in your Backstage application to find out more about the parameters this action accepts when it's installed to configure how you like.
@@ -45,7 +45,7 @@ return await createRouter({
After that you can use the action in your template:
```yaml
apiVersion: backstage.io/v1beta2
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: rails-demo
@@ -171,10 +171,10 @@ spec:
input:
url: ./template
values:
name: '{{ parameters.name }}'
owner: '{{ parameters.owner }}'
system: '{{ parameters.system }}'
railsArguments: '{{ json parameters.railsArguments }}'
name: ${{ parameters.name }}
owner: ${{ parameters.owner }}
system: ${{ parameters.system }}
railsArguments: ${{ parameters.railsArguments }}
- name: Write Catalog information
action: catalog:write
@@ -183,33 +183,34 @@ spec:
apiVersion: 'backstage.io/v1alpha1'
kind: Component
metadata:
name: '{{ parameters.name }}'
name: ${{ parameters.name }}
annotations:
github.com/project-slug: '{{ projectSlug parameters.repoUrl }}'
github.com/project-slug: ${{ parameters.repoUrl | projectSlug }}
spec:
type: service
lifecycle: production
owner: '{{ parameters.owner }}'
owner: ${{ parameters.owner }}
- id: publish
if: '{{ not parameters.dryRun }}'
if: ${{ parameters.dryRun !== true }}
name: Publish
action: publish:github
input:
allowedHosts: ['github.com']
description: 'This is {{ parameters.name }}'
repoUrl: '{{ parameters.repoUrl }}'
allowedHosts:
- github.com
description: This is ${{ parameters.name }}
repoUrl: ${{ parameters.repoUrl }}
- id: register
if: '{{ not parameters.dryRun }}'
if: ${{ parameters.dryRun !== true }}
name: Register
action: catalog:register
input:
repoContentsUrl: '{{ steps.publish.output.repoContentsUrl }}'
repoContentsUrl: ${{ steps.publish.output.repoContentsUrl }}
catalogInfoPath: '/catalog-info.yaml'
- name: Results
if: '{{ parameters.dryRun }}'
if: ${{ parameters.dryRun }}
action: debug:log
input:
listWorkspace: true
@@ -217,10 +218,10 @@ spec:
output:
links:
- title: Repository
url: '{{ steps.publish.output.remoteUrl }}'
url: ${{ steps.publish.output.remoteUrl }}
- title: Open in catalog
icon: 'catalog'
entityRef: '{{ steps.register.output.entityRef }}'
icon: catalog
entityRef: ${{ steps.register.output.entityRef }}
```
### What you need to run that action
@@ -240,8 +241,8 @@ steps:
url: ./template
imageName: repository/rails:tag
values:
name: '{{ parameters.name }}'
owner: '{{ parameters.owner }}'
system: '{{ parameters.system }}'
railsArguments: '{{ json parameters.railsArguments }}'
name: ${{ parameters.name }}
owner: ${{ parameters.owner }}
system: ${{ parameters.system }}
railsArguments: ${{ parameters.railsArguments }}
```
@@ -44,7 +44,7 @@ return await createRouter({
After that you can use the action in your template:
```yaml
apiVersion: backstage.io/v1beta2
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: yeoman-demo
@@ -107,29 +107,30 @@ spec:
name: Yeoman
action: run:yeoman
input:
namespace: 'org:codeowners'
namespace: org:codeowners
options:
codeowners: '@{{ parameters.owner }}'
codeowners: '@${{ parameters.owner }}'
- id: publish
if: '{{ not parameters.dryRun }}'
if: ${{ parameters.dryRun !== true }}
name: Publish
action: publish:github
input:
allowedHosts: ['github.com']
description: 'This is {{ parameters.name }}'
repoUrl: '{{ parameters.repoUrl }}'
allowedHosts:
- github.com
description: This is ${{ parameters.name }}
repoUrl: ${{ parameters.repoUrl }}
- id: register
if: '{{ not parameters.dryRun }}'
if: ${{ parameters.dryRun !== true }}
name: Register
action: catalog:register
input:
repoContentsUrl: '{{ steps.publish.output.repoContentsUrl }}'
repoContentsUrl: ${{ steps.publish.output.repoContentsUrl }}
catalogInfoPath: '/catalog-info.yaml'
- name: Results
if: '{{ parameters.dryRun }}'
if: ${{ parameters.dryRun }}
action: debug:log
input:
listWorkspace: true
@@ -137,10 +138,10 @@ spec:
output:
links:
- title: Repository
url: '{{ steps.publish.output.remoteUrl }}'
url: ${{ steps.publish.output.remoteUrl }}
- title: Open in catalog
icon: 'catalog'
entityRef: '{{ steps.register.output.entityRef }}'
icon: catalog
entityRef: ${{ steps.register.output.entityRef }}
```
You can also visit the `/create/actions` route in your Backstage application to find out more about the parameters this action accepts when it's installed to configure how you like.
@@ -1,9 +1,9 @@
apiVersion: backstage.io/v1beta2
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: bitbucket-demo
title: Test Bitbucket RepoUrlPicker template
description: scaffolder v1beta2 template demo publishing to bitbucket
description: scaffolder v1beta3 template demo publishing to bitbucket
spec:
owner: backstage/techdocs-core
type: service
@@ -49,8 +49,8 @@ spec:
input:
url: ./template
values:
name: '{{ parameters.name }}'
owner: '{{ parameters.owner }}'
name: ${{ parameters.name }}
owner: ${{ parameters.owner }}
- id: fetch-docs
name: Fetch Docs
@@ -63,16 +63,20 @@ spec:
name: Publish
action: publish:bitbucket
input:
description: 'This is {{ parameters.name }}'
repoUrl: '{{ parameters.repoUrl }}'
description: This is ${{ parameters.name }}
repoUrl: ${{ parameters.repoUrl }}
- id: register
name: Register
action: catalog:register
input:
repoContentsUrl: '{{ steps.publish.output.repoContentsUrl }}'
repoContentsUrl: ${{ steps.publish.output.repoContentsUrl }}
catalogInfoPath: '/catalog-info.yaml'
output:
remoteUrl: '{{ steps.publish.output.remoteUrl }}'
entityRef: '{{ steps.register.output.entityRef }}'
links:
- title: Repository
url: ${{ steps.publish.output.remoteUrl }}
- title: Open in catalog
icon: catalog
entityRef: ${{ steps.register.output.entityRef }}
@@ -11,4 +11,3 @@ spec:
- https://github.com/backstage/software-templates/blob/main/scaffolder-templates/pull-request/template.yaml
- https://github.com/backstage/software-templates/blob/main/scaffolder-templates/react-ssr-template/template.yaml
- https://github.com/backstage/software-templates/blob/main/scaffolder-templates/springboot-grpc-template/template.yaml
- https://github.com/backstage/software-templates/blob/main/scaffolder-templates/v1beta2-demo/template.yaml