16个不稳定版本 (7个重大更新)
0.8.0 | 2020年5月23日 |
---|---|
0.7.0 | 2019年11月17日 |
0.6.0 | 2019年9月16日 |
0.5.2 | 2018年11月10日 |
0.1.1 | 2018年3月25日 |
#19 in #jenkins
133 每月下载量
在 8 个crate中使用了 (6 个直接使用)
155KB
3.5K SLoC
jenkins-api.rs
到Jenkins JSON API的绑定
主分支的API文档发布在这里:这里。
示例
use jenkins_api::JenkinsBuilder;
use jenkins_api::build::BuildStatus;
use jenkins_api::job::BuildableJob;
fn main() {
let jenkins = JenkinsBuilder::new("https://127.0.0.1:8080")
.with_user("user", Some("password"))
.build().unwrap();
let job = jenkins.get_job("job name").unwrap();
let to_build = if let Some(short_build) = job.last_build.clone() {
let build = short_build.get_full_build(&jenkins).unwrap();
println!(
"last build for job {} at {} was {:?}",
job.name, build.timestamp, build.result
);
if let Some(result) = build.result {
result != BuildStatus::Success
} else {
true
}
} else {
println!("job {} was never built", job.name);
true
};
if to_build {
println!("triggering a new build");
job.as_variant::<jenkins_api::job::FreeStyleProject>().unwrap()
.build(&jenkins).unwrap();
}
}
依赖项
~5–12MB
~242K SLoC