Project

General

Profile

Backlog Assistant » History » Version 2

rainerkoenig, 2023-11-07 12:44

1 1 rainerkoenig
# Backlog Assistant
2
3
## What is it
4
A simple python script running on GitHub workflows that does the following:
5
- Parse a queries.yaml file with the configuration
6
-  Query progess.opensuse.org with the queries from the YAML file
7
-  Check the boundaries for each query and show a status icon
8
-  Create a static HTML page and deploy this to GitHub pages
9
10
## Resources
11
- [Backlogger](https://github.com/openSUSE/backlogger) The main script to evaluate the metrics
12
- [qa-tools-backlog-assistant](https://github.com/os-autoinst/qa-tools-backlog-assistant) How QE-Tools makes use of Bacvklogger
13 2 rainerkoenig
14 1 rainerkoenig
## Setup instructions for QE Yam 
15 2 rainerkoenig
16 1 rainerkoenig
### Clone the qe-tools-backlog-assistant repo 
17
You need the few files iin your local directory to adapt it to your needs.
18 2 rainerkoenig
19 1 rainerkoenig
### Enable workflows for you
20
Change the `backlog_checker.yml` file in `.github/workflows` and remove the check for the `github_repository_owner` to make it run in your cloned repository.
21 2 rainerkoenig
22 1 rainerkoenig
### Remove the git remotes
23
Since we upload our version to a new repository later we need to remove the remote with
24
`git remote remove origin`
25 2 rainerkoenig
26 1 rainerkoenig
### Create a new GitHub repository for your customized version
27
I used https://github.com/rakoenig/qe-yam-backlog-assistant for this. 
28 2 rainerkoenig
29 1 rainerkoenig
### Upload your code
30
Get the clone URL with SSH access and add it to the remote:
31
`git remote add origin<URL>`
32
33
Then push the repo
34
`git push origin master`
35 2 rainerkoenig
36 1 rainerkoenig
### Configure the API  Key
37
The `REDMINE_API_KEY` has to be put into the repository secrets since the `backlog_checker.yml` refers to it.
38 2 rainerkoenig
39 1 rainerkoenig
## Customize it for your own metrics
40
You need to change the `queries.yaml` file to use your own metrics. Here is an example for QE Yam:
41
~~~
42
api: https://progress.opensuse.org/projects/qe-yast/issues.json
43
web: https://progress.opensuse.org/projects/qe-yast/issues
44
team: QE Yam
45
url: https://progress.opensuse.org/projects/qe-yast/wiki
46
queries:
47
  - title: QE Yam Backlog
48
    query: query_id=866
49
    max: 64
50
~~~
51
The  `api` and `web` settings are used to build the URLs for the queries later.
52
53
To use a query you go to progress, select the query you want and **save** it as a custom query that can be used by all. Then you get a `query_id` that is used in this YAML file to identify the query.
54
You can define boundaries with `max` and `min`. 
55
56
You can add as many queries as you want.
57
58
## Deployment 
59
Last step is to setup your Pages setting in the GitHub repo. Go to `Settings` and then use the `Pages` menu. Then chose "Deploy from a branch" as deployment source. The branch name is `gh_pages` where the `backlog_checker.yml` script places an `index.html` file with yoiur dashboard.  This is then published on GitHub pages, in our case at https://rakoenig.github.io/qe-yam-backlog-assistant/