#env-var #devops #azure

azure_devops_rust_api

Azure DevOps Rust API 库

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网络编程

Download history 1287/week @ 2024-05-02 1167/week @ 2024-05-09 971/week @ 2024-05-16 1141/week @ 2024-05-23 1205/week @ 2024-05-30 1140/week @ 2024-06-06 1049/week @ 2024-06-13 1199/week @ 2024-06-20 978/week @ 2024-06-27 1092/week @ 2024-07-04 1147/week @ 2024-07-11 966/week @ 2024-07-18 1147/week @ 2024-07-25 1076/week @ 2024-08-01 1191/week @ 2024-08-08 1048/week @ 2024-08-15

每月 4,635 次下载

MIT 许可证

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),并等待响应。

代码示例

示例用法(来自 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