Migrate TODOs to Repo issues

Signed-off-by: Steven Kriegler <sk.bunsenbrenner@gmail.com>
This commit is contained in:
justusbunsi 2021-10-17 09:17:19 +02:00
parent 90581744ff
commit d2424a3888
No known key found for this signature in database
GPG key ID: 82B29BF2507F9F8B

View file

@ -14,8 +14,6 @@ Luckily, both endpoints have a proper REST API to communicate with each others.
- [SonarQube](#sonarqube) - [SonarQube](#sonarqube)
- [Gitea](#gitea) - [Gitea](#gitea)
- [CI system](#ci-system) - [CI system](#ci-system)
- [TODOs](#todos)
- [Possible improvements](#possible-improvements)
- [Contributing](#contributing) - [Contributing](#contributing)
- [License](#license) - [License](#license)
- [Screenshots](#screenshots) - [Screenshots](#screenshots)
@ -27,14 +25,14 @@ Luckily, both endpoints have a proper REST API to communicate with each others.
**Insights** **Insights**
- Bot activities - Bot activities
- extract data from SonarQube - Extract data from SonarQube
- [x] Read payload from hook post to receive project,branch/pr,quality-gate - Read payload from hook post to receive project,branch/pr,quality-gate
- [x] Load "api/measures/component" - Load "api/measures/component"
- [x] comment PR in Gitea (/repos/{owner}/{repo}/issues/{index}/comments) - Comment PR in Gitea (/repos/{owner}/{repo}/issues/{index}/comments)
- [x] updates status check (either failing/success) - Updates status check (either failing/success)
- [x] listen on "/sq-bot review" comments - Listen on "/sq-bot review" comments
- [x] comment PR in Gitea (/repos/{owner}/{repo}/issues/{index}/comments) - Comment PR in Gitea (/repos/{owner}/{repo}/issues/{index}/comments)
- [x] updates status check (either failing/success) - Updates status check (either failing/success)
## Requirements ## Requirements
@ -68,30 +66,6 @@ To mitigate that situation, the bot will look inside the `properties` object for
key can contain the actual commit hash to use for updating the status in Gitea. key can contain the actual commit hash to use for updating the status in Gitea.
See [SonarQube docs](https://docs.sonarqube.org/latest/project-administration/webhooks) for details. See [SonarQube docs](https://docs.sonarqube.org/latest/project-administration/webhooks) for details.
## TODOs
- [ ] Validate configuration on startup
- [ ] Verify webhook secrets
- [ ] Only post status-check (Opt-in/out)
- [ ] Maybe drop `PRBOT_CONFIG_PATH` environment variable in favor of `--config path/to/config.yaml` cli attribute
- [ ] Configure SonarQube PR branch naming pattern for more flexibility (currently focused on Jenkins with [Gitea Plugin](https://github.com/jenkinsci/gitea-plugin))
- [ ] Configuration live reloading
- [ ] _Caching_ of outgoing requests in case the target is not available
- [ ] Parsable logging for monitoring
- [x] Official image for containerized hosting
- [x] Helm chart for Kubernetes
- [ ] Publish Helm chart + docker image
- [x] Respect `"action": "opened"` PR event for updating status check
### Possible improvements
- Reuse existing posted comment for updates via SonarQube webhook or `/sq-bot` comments
Therefore storing or dynamically retrieving the previous comment id and modify content (/repos/{owner}/{repo}/issues/comments/{id})
- Add more information to posted comment
- Read "api/project_pull_requests" to get current issue counts and current state
- Load "api/issues/search" to get detailed information for unresolved issues
- Maybe directly show issues via review comments
## Contributing ## Contributing
Expected workflow is: Fork -> Patch -> Push -> Pull Request Expected workflow is: Fork -> Patch -> Push -> Pull Request