13 releases (stable)
4.1.1 | Oct 7, 2024 |
---|---|
4.0.1 | Oct 4, 2024 |
3.2.0 | May 12, 2023 |
2.0.0 | Nov 1, 2021 |
0.2.3 | Nov 29, 2019 |
#544 in Web programming
578 downloads per month
41KB
941 lines
ilert-rust
The official ilert API bindings.
In action
use ilert::ilert::ILert;
use ilert::ilert_builders::{UserGetApiResource, EventApiResource, ILertEventType};
let mut client = ILert::new().unwrap();
client.auth_via_token("your-api-token").unwrap();
// create a new alert via event
client
.create()
.event(
"44c7afdc-0b3e-4344-b48a-5378a963231f",
ILertEventType::ALERT,
"Host srv/mail01 is CRITICAL", None)
.execute()
.await;
// accept alert
let accept_result = client
.update()
.accept_alert(123)
.execute()
.await
.unwrap();
// resolve alert
let resolve_result = client
.update()
.resolve_alert(123)
.execute()
.await
.unwrap();
// fetch users
let user_result = client
.get()
.skip(5)
.limit(10)
.filter("role", "RESPONDER")
.filter("role", "USER")
.users()
.execute()
.await
.unwrap();
// ping a heartbeat
client
.get()
.heartbeat("43c7afdc-0b3e-4344-b48a-5379a963241f")
.execute()
.await;
// create detailed alert via event
client
.create()
.event_with_details(
"8972f0d5d8c9cde78d79b6cc8fd",
ILertEventType::ALERT,
Some("Host srv/mail01 is CRITICAL".to_string()),
Some("bratwurst".to_string()),
Some("some detail message".to_string()),
Some(ILertPriority::LOW),
Some(vec![EventImage::new("https://i.giphy.com/media/VRhsYYBw8AE36/giphy.webp")]),
Some(vec![]),
Some(json!({"hehe": "test"})),
None)
.execute()
.await
.unwrap();
// add comment to alert via event
client
.create()
.event_with_comment(
"8972f0d5d8c9cde78d79b6cc8fd",
Some("bratwurst".to_string()),
Some(vec![EventComment::new("Peter Parker", "a comment ![alt text picture](https://i.giphy.com/media/VRhsYYBw8AE36/giphy.webp)")]))
.execute()
.await
.unwrap();
// resolve alert via event
client
.create()
.event("8972f0d5d8c9cde78d79b6cc8fd",
ILertEventType::RESOLVE, None,
Some("bratwurst".to_string()))
.execute()
.await
.unwrap();
Blocking
If you are looking for a blocking version of the client pin the 3.x.x
versions in your Cargo.toml.
Getting help
We are happy to respond to GitHub issues as well.
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in ilert-rust by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~5–15MB
~201K SLoC