Ballerina provides several tools to help you create, document, and test your code.

Flexible composer

The Ballerina Composer provides three ways to create your integrations:

  • Draw sequence diagrams in the Design view
  • Write Ballerina code in the Source view
  • Create services by writing Swagger definitions in the Swagger view

As you work in one view, the diagrams and code are updated in the other views, allowing you to switch between them seamlessly as needed. Note that the Swagger view is only for defining services, so if you are creating an executable program with a main() function instead of a service, you cannot use the Swagger view.

IDE plug-ins

You can use plug-ins to write Ballerina code in your favorite IDE. There are several plug-ins available in Github. Click one of the following links to learn how to use that IDE's plug-in.

Swagger to Ballerina code generator

You can use existing Swagger files to generate connectors and services in Ballerina code. For details, see the Swagger to Ballerina Code Generator.

API documentation generator

As you develop new connectors, actions, and functions that you want to share with others, it's important to add API documentation that describes each entity and how it's used. Ballerina provides a framework called Docerina that generates API documentation from your annotations in your Ballerina files. You can check it out at

Test framework

When you write your code in Ballerina Composer, the syntax is checked for you as you write it, and you can use the Debug button to step through your program. You can also manually test a Ballerina file using the following command:

ballerina test <ballerina_file>

Ballerina provides a testing framework called Testerina that you can use for your programs. You can check it out at