5 releases
0.2.3 | Nov 1, 2024 |
---|---|
0.2.2 | Aug 9, 2024 |
0.2.1 | Aug 7, 2024 |
0.2.0 | Aug 7, 2024 |
0.1.0 | Aug 7, 2024 |
#971 in Web programming
137 downloads per month
41KB
614 lines
Overview
Octoapp is a Rust library for building GitHub Apps. It provides a simple interface for creating GitHub Apps and handling webhook events.
✨ Features
- Focus on simplicity and ease of use.
- Built-in support for handling GitHub webhook events.
- Uses
octocrab
for interacting with the GitHub API. - Supports
rocket
web framework for handling incoming webhook events.- feature:
rocket
- feature:
🚀 Quick Start
Run the following command to add octoapp
to your project:
cargo add octoapp
🏃 Getting Started
use anyhow::Result;
use octoapp::prelude::*;
#[tokio::main]
async fn main() -> Result<()> {
// [optional] Load .env file if it exists
// dotenvy::dotenv().ok();
// Load the configuration (from environment variables)
// Or, you can set the configuration manually
let config = OctoAppConfig::init()
.app_name("My App")
.app_id(12345)
.client_id("client_id")
.client_secret("client_secret")
.webhook_secret("webhook_secret")
.build()
.expect("Failed to build OctoAppConfig");
println!("{}", config);
// Create a new Octocrab instance
let octocrab = config.octocrab();
if let Ok(client) = octocrab {
let repos = client.issues("42ByteLabs", "octoapp")
.list()
.creator("GeekMasher")
.send()
.await?;
}
Ok(())
}
📚 Documentation
You can find the documentation for this project on docs.rs.
♥️ Maintainers / Contributors
🦸 Support
Please create GitHub Issues if there are bugs or feature requests.
This project uses Semantic Versioning (v2) and with major releases, breaking changes will occur.
📓 License
This project is licensed under the terms of the MIT open source license. Please refer to MIT for the full terms.
Dependencies
~12–45MB
~735K SLoC