drone_dart 1.2.1 copy "drone_dart: ^1.2.1" to clipboard
drone_dart: ^1.2.1 copied to clipboard

Dart client for the Drone Ci API. This package give you ability to integrate with Drone Ci API easily.

Drone Dart #

image

Dart is a multi client programming language which allow you to compile and run your code on multiple platforms. Because of that we decided to create a Package for Drone Ci which is self-service Continuous Integration platform. This package give you ability to integrate with Drone API easily in any platform using Dart language and build your own interface and a lot more.

Example #

For first step you need to initialize your DroneClient instance which need Server(Drone interface host, for example https://drone.example.com) and Token(Access token). You can retrieve an token in the Drone user interface by navigating to your user profile.

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

Note: Full code example is available in example folder.

All Methods #

Methods below are available in DroneClient. Appellation and type of arguments is same as Drone API request data.

Builds #

Doc: https://docs.drone.io/api/builds/

  instance.buildSection.approve(owner,repo,build);
  instance.buildSection.create(namespace,name,commit,branch,parameters);
  instance.buildSection.decline(owner,repo,build);
  instance.buildSection.info(owner,build,repo);
  instance.buildSection.list(owner,repo);
  instance.buildSection.log(owner,repo,build,stage,step);
  instance.buildSection.promote(owner,repo,build,target,parameters);
  instance.buildSection.restart(owner,repo,build);
  instance.buildSection.stop(owner,repo,build);

Cron #

Doc: https://docs.drone.io/api/cron/

  instance.croneSection.create(owner,repo,cronRequestBody);
  instance.croneSection.delete(owner,repo,name);
  instance.croneSection.info(owner,repo,name);
  instance.croneSection.list(owner,repo);
  instance.croneSection.trigger(owner,repo,name);
  instance.croneSection.update(owner,repo,name,requestBody);

Repos #

Doc: https://docs.drone.io/api/repos/

  instance.repoSection.chown(owner,repo);
  instance.repoSection.disable(owner,repo);
  instance.repoSection.enable(owner,name);
  instance.repoSection.info(owner,repo);
  instance.repoSection.list();
  instance.repoSection.repair(owner,repo);
  instance.repoSection.update(owner,repo,requestBody);

Secrets #

Doc: https://docs.drone.io/api/secrets/

  instance.secretSection.create(owner,repo,requestBody);
  instance.secretSection.delete(owner,repo,secret);
  instance.secretSection.info(owner,repo,secret);
  instance.secretSection.list(owner,repo);
  instance.secretSection.update(owner,repo,secret,requestBody);

Templates #

Doc: https://docs.drone.io/api/templates/

  instance.templateSection.create(requestBody);
  instance.templateSection.delete(namespace,name);
  instance.templateSection.info(namespace,name);
  instance.templateSection.list(namespace);
  instance.templateSection.update(namespace,name);

User #

Doc: https://docs.drone.io/api/user/

  instance.userSection.feed();
  instance.userSection.repos(latest);
  instance.userSection.info();
  instance.userSection.sync();

Users #

Doc: https://docs.drone.io/api/users/

  instance.userSection.create(requestBody);
  instance.userSection.delete(login);
  instance.userSection.info(login);
  instance.userSection.list();
  instance.userSection.update(login,requestBody);

Stream #

  instance.stream.listen((event) => print(event));

  instance
    .logStream(
        repoName: 'repoName',
        stage: 'stage',
        step: 'step',
        nameSpace: 'nameSpace',
        build: 'build')
    .listen(
  (event) => print(event)
  );
1
likes
120
points
62
downloads

Publisher

unverified uploader

Weekly Downloads

Dart client for the Drone Ci API. This package give you ability to integrate with Drone Ci API easily.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

dio, freezed_annotation, json_annotation

More

Packages that depend on drone_dart