@janus-idp/backstage-plugin-feedback-backend-dynamic
v1.7.2
Published
This is feedback-backend plugin which provides Rest API to create feedbacks.
Downloads
11
Readme
Feedback Backend
This is feedback-backend plugin which provides Rest API to create feedbacks.
It is also responsible for creating JIRA tickets,
Getting started
Installation
Install the NPM Package
# From your backstage root directory
yarn workspace backend add @janus-idp/backstage-plugin-feedback-backend
Adding the plugin to the new backend
Add the following to your packages/backend/src/index.ts
file:
const backend = createBackend();
// Add the following line
backend.add(import('@janus-idp/backstage-plugin-feedback-backend'));
backend.start();
Adding the plugin to the legacy backend (@janus-idp/[email protected]
and lower)
Create a new file
packages/backend/src/plugins/feedback.ts
and add the following:import { Router } from 'express'; import { createRouter } from '@janus-idp/backstage-plugin-feedback-backend'; import { PluginEnvironment } from '../types'; export default async function createPlugin( env: PluginEnvironment, ): Promise<Router> { return await createRouter({ logger: env.logger, config: env.config, discovery: env.discovery, }); }
Next we wire this into overall backend router by editing the
packages/backend/src/index.ts
file:import feedback from './plugins/feedback'; // ... async function main() { // ... const feedbackEnv = useHotMemoize(module, () => createEnv('feedback')); apiRouter.use('/feedback', await feedback(feedbackEnv)); }
Configurations
Add the following config in your app-config.yaml
file.
feedback:
integrations:
jira:
# Under this object you can define multiple jira hosts
- host: ${JIRA_HOST_URL}
# Add your jira token along with Basic or Bearer type eg: Basic/Bearer <token>
token: ${JIRA_TOKEN}
# (optional) Due to GDPR limitations on jira cloud instances
# set hostType: CLOUD to make api work
# default value is SERVER
hostType: CLOUD
email:
## Email integration uses nodemailer to send emails
host: ${EMAIL_HOST}
port: ${EMAIL_PORT} # defaults to 587, if not found
## Email address of sender
from: ${EMAIL_FROM}
## [optional] Authorization using user and password
auth:
user: ${EMAIL_USER}
pass: ${EMAIL_PASS}
# boolean
secure: false
# Path to ca certificate if required by mail server
caCert: ${NODE_EXTRA_CA_CERTS}
Set up frontend plugin
Follow instructions provided feedback-plugin
API reference
The API specifications file can be found at docs/openapi3_0
Running the plugin
Run yarn workspace @janus-idp/backstage-plugin-feedback-backend start
.