Drone Dart
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 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: 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
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
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: 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: 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
instance.userSection.feed();
instance.userSection.repos(latest);
instance.userSection.info();
instance.userSection.sync();
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)
);