Drone Dart

Dart 是一种多客户端编程语言,允许您在多个平台上编译和运行代码。因此,我们决定为 Drone CI 创建一个包,这是一个自助式持续集成平台。此包使您能够使用 Dart 语言轻松地在任何平台上集成 Drone API,并构建自己的界面以及更多功能。

示例

第一步,您需要初始化您的 DroneClient 实例,它需要服务器(Drone 接口主机,例如 https://drone.example.com)和令牌(访问令牌)。您可以通过导航到您的用户配置文件来检索令牌。

  final instance = DroneClient.init(
    server: '<Your Drone Server Address>',
    token: '<Your Token>',
  );

注意:完整的代码示例可在 example 文件夹中找到。

所有方法

DroneClient 中提供了以下方法。参数的名称和类型与 Drone API 请求数据相同。

构建

文档https://docs.drone.io/api/builds/

  instance.buildApprove(owner,repo,build);
  instance.buildCreate(namespace,name,commit,branch,parameters);
  instance.buildDecline(owner,repo,build);
  instance.buildInfo(owner,build,repo);
  instance.buildList(owner,repo);
  instance.buildLog(owner,repo,build,stage,step);
  instance.buildPromote(owner,repo,build,target,parameters);
  instance.buildRestart(owner,repo,build);
  instance.buildStop(owner,repo,build);

Cron

文档https://docs.drone.io/api/cron/

  instance.cronCreate(owner,repo,cronRequestBody);
  instance.cronDelete(owner,repo,name);
  instance.cronInfo(owner,repo,name);
  instance.cronList(owner,repo);
  instance.cronTrigger(owner,repo,name);
  instance.cronUpdate(owner,repo,name,requestBody);

存储库

文档https://docs.drone.io/api/repos/

  instance.repoChown(owner,repo);
  instance.repoDisable(owner,repo);
  instance.repoEnable(owner,name);
  instance.repoInfo(owner,repo);
  instance.repoList();
  instance.repoRepair(owner,repo);
  instance.repoUpdate(owner,repo,requestBody);

Secrets

文档https://docs.drone.io/api/secrets/

  instance.secretCreate(owner,repo,requestBody);
  instance.secretDelete(owner,repo,secret);
  instance.secretInfo(owner,repo,secret);
  instance.secretList(owner,repo);
  instance.secretUpdate(owner,repo,secret,requestBody);

模板

文档https://docs.drone.io/api/templates/

  instance.templateCreate(requestBody);
  instance.templateDelete(namespace,name);
  instance.templateInfo(namespace,name);
  instance.templateList(namespace);
  instance.templateUpdate(namespace,name);

用户

文档https://docs.drone.io/api/user/

  instance.userFeed();
  instance.userRepos(latest);
  instance.userInfo();
  instance.userSync();

Users(用户)

文档https://docs.drone.io/api/users/

  instance.usersCreate(requestBody);
  instance.usersDelete(login);
  instance.usersInfo(login);
  instance.usersList();
  instance.usersUpdate(login,requestBody);

GitHub

查看 Github