Skip to content

2bndy5/git-bot-feedback

Repository files navigation

Git-bot-feedback

rust-ci-badge docs-rs-badge codecov-badge crates-io-badge GitHub License

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

Optional Features

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.

TLS Backend

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.

Supported git servers

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

Optional support

Each supported implementation of the above git servers can be controlled via cargo features. They are enabled by default.

  • github enables support of GitHub implementation
  • gitea enables support of Gitea implementation

LGPL license

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)

About

A rust library designed for CI tools that posts comments on a Pull Request

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Sponsor this project

 

Contributors