Skip to content

ayshiff/backstage-plugin-jira

 
 

Repository files navigation

Jira Plugin for Backstage

a Jira plugin for Backstage

Features

  • Show project details and tasks
  • Activity Stream

How to add Jira project dependency to Backstage app

  1. If you have standalone app (you didn't clone this repo), then do
yarn add @roadiehq/backstage-plugin-jira
  1. Add proxy config:
// app-config.yaml
proxy:
  '/jira/api':
    target: <JIRA_URL>
    headers:
      Authorization:
        $env: JIRA_TOKEN
      Accept: 'application/json'
      Content-Type: 'application/json'
      X-Atlassian-Token: 'no-check'
      User-Agent: "MY-UA-STRING"
  1. Add plugin to the list of plugins:
// packages/app/src/plugins.ts
export { plugin as Jira } from '@roadiehq/backstage-plugin-jira';
  1. Add plugin component to your Backstage instance:
// packages/app/src/components/catalog/EntityPage.tsx
import {
  JiraCard,
  isPluginApplicableToEntity as isJiraAvailable,
} from '@roadiehq/backstage-plugin-jira';

const OverviewContent = ({ entity }: { entity: Entity }) => (
  <Grid container spacing={3} alignItems="stretch">
    ...
    {isJiraAvailable(entity) && (
      <Grid item md={6}>
        <JiraCard entity={entity} />
      </Grid>
    )}
  </Grid>
);

How to use Jira plugin in Backstage

  1. Add annotation to the yaml config file of a component:
metadata:
  annotations:
    jira/project-key: <example-jira-project-key>
    jira/component: <example-component> # optional, you might skip value to fetch data for all components
  1. Get and provide JIRA_TOKEN as env variable:
    1. Obtain you personal token from jira: https://id.atlassian.com/manage-profile/security/api-tokens
    2. Create a base64-encoded string by converting ":", for example jira-mail@example.com:hTBgqVcrcxRYpT5TCzTA9C0F converts to amlyYS1tYWlsQGV4YW1wbGUuY29tOmhUQmdxVmNyY3hSWXBUNVRDelRBOUMwRg==
    3. Save the environmental variable JIRA_TOKEN with Basic prefix, eg: JIRA_TOKEN='Basic amlyYS1tYWlsQGV4YW1wbGUuY29tOmhUQmdxVmNyY3hSWXBUNVRDelRBOUMwRg=='

Links

About

A JIRA plugin for Backstage

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 98.7%
  • JavaScript 1.3%