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
100
pub points
2%
popularity

Publisher

unverified uploader

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