|
1 | | -# Kestra Plugin Template |
| 1 | +# Kestra Dbt Plugin |
2 | 2 |
|
3 | 3 | <p align="center"> |
4 | 4 | <img width="460" src="https://kestra.io/logo.svg" alt="Kestra workflow orchestrator" /> |
5 | 5 | </p> |
6 | 6 |
|
7 | | -> A template for creating plugin for Kestra |
| 7 | +> Plugin to interact with dbt cli or dbt cloud |
8 | 8 |
|
9 | | -This repository is meant to serve as a general template for how to set up new plugin for |
10 | | -[Kestra](https://github.com/kestra-io/kestra). In general, setting up a new plugin should |
11 | | -take only a few minutes; use this repository as a way of finding example files to ensure |
12 | | -that you've set up the plugin correctly. |
| 9 | + |
13 | 10 |
|
14 | | -## Structure |
15 | | - |
16 | | -### Tasks |
17 | | -There only one simple task in this template `io.kestra.plugin.templates.Example`. |
18 | | -This tasks will take a `format` options (that is an handlebar string) and will return |
19 | | -a reverse string in the `RunOutput` vars name `example` mostly to show how to create |
20 | | -a task for Kestra. The main logic will be in this task. This also show how to included |
21 | | -dependding libs on the final jar. |
22 | | - |
23 | | -### Tests |
24 | | -There is 2 unit test examples in this template : |
25 | | -- `ExampleTest` : this test will only test the main task, this allow you to send any input |
26 | | -parameters to your task and test the returning behaviour easily. |
27 | | -- `ExampleRunnerTest`: this test will load all flow located in `src/test/resources/flows/` |
28 | | -and will run an in-memory runner to be able to test a full flow. There is also a |
29 | | -configuration file in `src/test/resources/application.yml` that is only for the full runner |
30 | | -test to configure in-memory runner. |
31 | | - |
32 | | -### Libs |
33 | | -We may need to use some third party libs in order to develop plugins |
34 | | -(third party api, helper classes, ...). By default, the generated jar will not contains |
35 | | -any dependencies. In order to add you dependencies, you will need to add a gradle |
36 | | -dependencies `implementation` : |
37 | | -```groovy |
38 | | - // libs |
39 | | - implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0' |
40 | | -``` |
41 | | -The other dependencies (especially `kestra.core` & `micronaut`) is configured to be only `compileOnly` |
42 | | -in order to not be exported with plugins. |
43 | | - |
44 | | -Some libs are already included and can be used in any plugins and must not be added as |
45 | | -dependency in gradle configuration : |
46 | | -* [Guava](https://github.com/google/guava) |
47 | | -* [Commons IO](https://commons.apache.org/proper/commons-io/) |
48 | | -* [Commons Lang](https://commons.apache.org/proper/commons-lang/) |
| 11 | +## Documentation |
| 12 | +* The official Kestra documentation can be found under: [kestra.io](https://kestra.io) |
| 13 | +* This plugin documentation can be found [here](https://kestra.io/plugins/plugin-dbt/) |
49 | 14 |
|
50 | 15 |
|
51 | 16 | ## License |
|
0 commit comments