A rust library designed for CI tools to easily submit feedback on a git server.
Feedback on a git server using this library can be in the form of
- thread comments (for a PR or commit)
- setting output variables for other CI tools to consume
- append a summary comment to a CI workflow run's summary page
- mark the start and end of a group of log statements (in the CI workflow run's logs)
- files annotations
- Pull Request reviews
These cargo features are optional and disabled by default:
file-changes: ability to list files changed with information like which lines have additions or which lines are shown in the diff.
A TLS backend is explicitly not set by this crate. This is intended to allow library consumers to choose the TLS backend of their choice; see reqwest's features.
This project is designed to easily add support for various git servers. The following is just a list of git servers that are planned (in order or priority).
-
GitHub
-
GitLab
-
Gitea
Gitea does not support
- posting thread comments for commits (push events)
- programmatically deleting a PR reviews' individual comments, rather we can only resolve them (currently). However, deleting an entire PR review is supported.
-
BitBucket
Each supported implementation of the above git servers can be controlled via cargo features. They are enabled by default.
githubenables support of GitHub implementationgiteaenables support of Gitea implementation
This project is licensed under LGPL-3.0-or-later.
Since this library ultimately requires write access to users' projects (to allow posting comments), it could easily be modified with malicious intent.
By using the LGPL-3.0-or-later license, we can offer some assurance and help safeguard end-users' data/privacy because the following conditions must be met:
- the source code is publicly available
- any redistributed forms must state their modifications (if any)