octoapp

Crates.iooctoapp
lib.rsoctoapp
version
sourcesrc
created_at2024-08-07 01:19:17.462228
updated_at2024-11-01 09:43:47.045371
descriptionOctoapp is a Rust library for building GitHub Apps
homepage
repositoryhttps://github.com/42ByteLabs/octoapp
max_upload_size
id1327941
Cargo.toml error:TOML parse error at line 19, column 1 | 19 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Mathew Payne (GeekMasher)

documentation

https://docs.rs/octoapp

README

Octoapp

GitHub Crates.io Version Crates.io Downloads (recent) GitHub Stars GitHub Issues Licence

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

🚀 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.

Commit count: 32

cargo fmt