46 个版本 (20 个重大更改)
新增 0.21.1 | 2024 年 8 月 22 日 |
---|---|
0.21.0 | 2024 年 5 月 6 日 |
0.20.1 | 2024 年 4 月 29 日 |
0.19.1 | 2024 年 3 月 25 日 |
0.1.3 | 2022 年 7 月 29 日 |
86 在 网络编程
每月 4,635 次下载
11MB
251K SLoC
Azure DevOps Rust API
概述
azure_devops_rust_api
实现了对 Azure DevOps REST API(版本 7.1)的 Rust 接口。
该 crate 是从 Azure DevOps OpenAPI 规范 自动生成的。
该 crate 包含 38 个模块
用法
用法概述
该 crate 有许多功能/模块,但总体方法对所有模块都是类似的
- 获取认证凭证
- 查看 示例 了解如何使用
azure_identity
crate 完成
- 查看 示例 了解如何使用
- 为要使用的功能/模块创建客户端
- 通常您需要为要使用的顶级模块创建客户端(例如
git_client
),然后为子模块创建客户端(例如repositories_client
)。
- 通常您需要为要使用的顶级模块创建客户端(例如
- 使用客户端进行操作请求
- 每个操作可以有零个或多个必填参数和零个或多个可选参数。必填参数作为操作请求方法上的参数传递。可选参数可以通过调用操作请求方法返回的 "builder" 对象的方法来提供。通过调用
await
来最终化 builder 对象,它将 builder 转换为 Future(通过IntoFuture
trait),并等待响应。
- 每个操作可以有零个或多个必填参数和零个或多个可选参数。必填参数作为操作请求方法上的参数传递。可选参数可以通过调用操作请求方法返回的 "builder" 对象的方法来提供。通过调用
代码示例
示例用法(来自 examples/git_repo_list.rs)
// Get authentication credential either from a PAT ("ADO_TOKEN")
// or via the az cli.
let credential = utils::get_credential()
// Get ADO configuration via environment variables
let organization = env::var("ADO_ORGANIZATION")
.expect("Must define ADO_ORGANIZATION");
let project = env::var("ADO_PROJECT")
.expect("Must define ADO_PROJECT");
// Create a git client
let git_client = git::ClientBuilder::new(credential).build();
// Get all repositories in the specified organization/project
let repos = git_client
.repositories_client()
.list(organization, project)
.await?
.value;
// Output repo names
for repo in repos.iter() {
println!("{}", repo.name);
}
println!("{} repos found", repos.len());
API 中的单个模块 通过 Rust features
启用。
查看 Cargo.toml 了解功能列表。
示例应用程序 Cargo.toml
依赖规范,显示如何指定所需功能
[dependencies]
...
azure_devops_rust_api = { version = "0.21.1", features = ["git", "pipelines"] }
示例
请参阅示例目录。
定义环境变量
export ADO_ORGANIZATION=<organization-name>
export ADO_PROJECT=<project-name>
要运行示例,您需要提供身份验证凭据,可以通过以下方式:
az
CLI,您只需在运行示例之前通过执行az login
进行身份验证。- 个人访问令牌 (PAT),通过环境变量
ADO_TOKEN
提供注意:个人访问令牌包含您的 Azure DevOps 安全凭据。PAT 识别您、您可访问的组织和访问范围。因此,它们与密码一样重要,因此您应该以相同的方式对待它们。创建 PAT 时,仅授予所需的最小范围,并将过期时间设置为较短。
通过以下方式运行示例:cargo run --example
。您需要启用示例所需的功能。如果您未指定必需的功能,则会收到有用的错误消息。
示例
cargo run --example git_repo_get --features="git" <repo-name>
问题报告
如果您发现任何问题,请通过 Github 提出问题。
有用链接
依赖项
~7–21MB
~322K SLoC