1.2.6 • Published 4 days ago

@janus-idp/backstage-plugin-feedback-backend v1.2.6

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
4 days ago

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 legacy backend

  1. 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,
      });
    }
  2. 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));
    }

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/alpha'));

backend.start();

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.

1.2.6

4 days ago

1.2.5

11 days ago

1.2.4

12 days ago

1.2.3

13 days ago

1.2.2

13 days ago

1.2.1

14 days ago

1.2.0

28 days ago

1.1.6

1 month ago

1.1.5

1 month ago

1.1.4

2 months ago

1.1.3

2 months ago

1.1.2

3 months ago

1.1.1

3 months ago

1.1.0

3 months ago

1.0.0

4 months ago