This is a bugzilla dashboard that helps management determine Bugzilla components triaging status
Перейти к файлу
dependabot[bot] d2fd8b142f
Bump browserslist from 4.11.1 to 4.16.6
Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.11.1 to 4.16.6.
- [Release notes](https://github.com/browserslist/browserslist/releases)
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/browserslist/browserslist/compare/4.11.1...4.16.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-25 01:40:43 +00:00
scripts Use people.json artifact (#162) 2020-01-21 12:58:33 +01:00
src Update of the field title (severity => bug_severity) (#182) 2021-02-15 10:19:59 +01:00
test also add S1 bugs in the view (#181) 2021-02-08 12:49:34 +01:00
.eslintrc.js Switch to Neutrino 9 2018-11-23 13:41:03 -05:00
.gitignore Initial prototype 2018-11-29 10:04:34 -05:00
.neutrinorc.js NonLDAP login issue 2019-06-12 17:17:35 +05:30
.travis.yml Upgrade build dependencies and fix build issues (#167) 2020-04-16 15:38:02 +02:00
CODE_OF_CONDUCT.md Add Mozilla Code of Conduct file 2019-04-02 15:45:27 -04:00
LICENSE Initial commit 2018-11-23 08:51:23 -05:00
README.md Use OAuth2 to login on firefox-ci Taskcluster instance (#160) 2020-01-16 19:07:09 +01:00
jest.config.js Switch to Neutrino 9 2018-11-23 13:41:03 -05:00
netlify.toml Netlify to route everything to / 2019-04-08 09:15:31 -04:00
package.json Bump node-fetch from 2.6.0 to 2.6.1 (#175) 2021-02-08 13:29:27 +01:00
poetry.lock Improve real org data generation 2019-06-13 09:54:07 -04:00
pyproject.toml Improve real org data generation 2019-06-13 09:54:07 -04:00
webpack.config.js Switch to Neutrino 9 2018-11-23 13:41:03 -05:00
yarn.lock Bump browserslist from 4.11.1 to 4.16.6 2021-05-25 01:40:43 +00:00

README.md

The Bugzilla management dashboard

This is a Bugzilla dashboard that helps management determine Bugzilla components triaging status plus listing members of their reporting chain.

Only LDAP users are allowed to use this app. You can do development locally without an LDAP account, however, the app will only have fake org data. See the Contribute section.

You can see the deployment in our Netlify instance.

Adding more teams

A team is a collection of components that can span various products and it is shown under the Teams tab. You can add new teams and make them show in the Teams tab by making changes to the config file.

To add a team you need to modify TEAMS_CONFIG and an entry similar to this:

export const TEAMS_CONFIG = {
  domCore: {
    label: 'DOM Core',
    owner: 'someone@mozilla.com',
    product: ['Core'],
    component: [
      'DOM: Core & HTML', 'DOM: Events',
      'Editor', 'HTML: Parser', 'Selection', 'Serializers',
      'User events and focus handling',
    ],
},

Here's how to configure it:

  • product and component are parameters passed to the Bugzilla queries.
  • owner should match someone reporting to you.
    • Use their Bugzilla email rather than their LDAP
    • If the person does is not someone showing up on your Reportees tab it won't work
  • label is the name of the team

Generate data

Until we have a backend, we need to regenerate certain files to bring the app up-to-date.

The data is stored in Taskcluster Secrets and it's only accessible to moco_team. See bug 1540823

To update the data you will need to take a Phonebook dump, get it reduced and converted to Yaml and upload it to Taskcluster Secrets.

Requirements:

  • Python
  • pip (which comes with Python) or poetry

Set up the virtualenv with poetry:

poetry install
poetry shell

or:

python3 -m venv venv
source ./venv/bin/activate
pip install PyYaml

Execute the command:

python scripts/processPeopleFile.py --path /path/to/phonebook.json

You can read in here what changes are needed to get data from CIS.

triageOwners.json

This file is checked-in because it makes the app snapier, however, it can fall out of date.

To regenerate it run this and commit the updated file:

node scripts/generateTriageOwners.js

Contribute

If you don't have LDAP access you can start the app with yarn start:alternativeAuth and use Google or GitHub to authenticate. This will not give you access to a functioning app, however, it will allow you to make contributions to the authenticated interface.

Issue #66 will add fake data into this alternative auth approach.

Auth info

This app authenticates with Mozilla's official Auth0 domain. It uses SSO and it only allows authentication of Mozilla staff via LDAP.

The authentication configuration has the following characteristics:

  • There are two different Auth0 clients
    • An official one (SSO + LDAP) and the other for non-LDAP contributors
    • Non-LDAP users will receive fake org data
  • After a user authenticates, the auth will also authenticate with Firefox CI Taskcluster (firefox-ci-tc.services.mozilla.com)
    • This is in order to later fetch a Taskcluster secret (only available to LDAP users)

Running & tests

yarn install
  • To run the tests:
yarn test -u
  • To run the linting tests
yarn lint
  • To run the project
yarn install
yarn start