Skip to content

Commit c4cf1e8

Browse files
authored
Merge branch 'main' into chore/update-plugin-categories
2 parents 0a1b792 + 5726800 commit c4cf1e8

File tree

18 files changed

+56
-95
lines changed

18 files changed

+56
-95
lines changed

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,6 @@ body:
2121
validations:
2222
required: false
2323
labels:
24-
- bug
25-
- area/plugin
24+
- area/plugin
25+
type: Bug
26+
projects: ["kestra-io/15"]

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ contact_links:
22
- name: Chat
33
url: https://kestra.io/slack
44
about: Chat with us on Slack.
5+
blank_issues_enabled: false

.github/ISSUE_TEMPLATE/feature.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ body:
88
validations:
99
required: true
1010
labels:
11-
- enhancement
12-
- area/plugin
11+
- area/plugin
12+
type: Feature
13+
projects: ["kestra-io/15"]

.github/pull_request_template.md

Lines changed: 1 addition & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -40,47 +40,4 @@ Thank you for your contribution. ❤️ -->
4040

4141
### Contributor Checklist ✅
4242

43-
- [ ] PR Title and commits follows [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/)
44-
- [ ] Add a `closes #ISSUE_ID` or `fixes #ISSUE_ID` in the description if the PR relates to an opened issue.
45-
- [ ] Documentation updated (plugin docs from `@Schema` for properties and outputs, `@Plugin` with examples, `README.md` file with basic knowledge and specifics).
46-
- [ ] Setup instructions included if needed (API keys, accounts, etc.).
47-
- [ ] Prefix all rendered properties by `r` not `rendered` (eg: `rHost`).
48-
- [ ] Use `runContext.logger()` to log enough important infos where it's needed and with the best level (DEBUG, INFO, WARN or ERROR).
49-
50-
⚙️ **Properties**
51-
- [ ] Properties are declared with `Property<T>` carrier type, do **not** use `@PluginProperty`.
52-
- [ ] Mandatory properties must be annotated with `@NotNull` and checked during the rendering.
53-
- [ ] You can model a JSON thanks to a simple `Property<Map<String, Object>>`.
54-
55-
🌐 **HTTP**
56-
- [ ] Must use Kestra’s internal HTTP client from `io.kestra.core.http.client`
57-
58-
📦 **JSON**
59-
- [ ] If you are serializing response from an external API, you may have to add a `@JsonIgnoreProperties(ignoreUnknown = true)` at the mapped class level. So that we will avoid to crash the plugin if the provider add a new field suddenly.
60-
- [ ] Must use Jackson mappers provided by core (`io.kestra.core.serializers`)
61-
62-
**New plugins / subplugins**
63-
- [ ] Make sure your new plugin is configured like mentioned [here](https://kestra.io/docs/plugin-developer-guide/gradle#mandatory-configuration).
64-
- [ ] Add a `package-info.java` under each sub package respecting [this format](https://github.com/kestra-io/plugin-odoo/blob/main/src/main/java/io/kestra/plugin/odoo/package-info.java) and choosing the right category.
65-
- [ ] Every time you use `runContext.metric(...)` you have to add a `@Metric` ([see this doc](https://kestra.io/docs/plugin-developer-guide/document#document-the-plugin-metrics))
66-
- [ ] Docs don't support to have both tasks/triggers in the root package (e.g. `io.kestra.plugin.kubernetes`) and in a sub package (e.g. `io.kestra.plugin.kubernetes.kubectl`), whether it's: all tasks/triggers in the root package OR only tasks/triggers in sub packages.
67-
- [ ] Icons added in `src/main/resources/icons` in SVG format and not in thumbnail (keep it big):
68-
- `plugin-icon.svg`
69-
- One icon per package, e.g. `io.kestra.plugin.aws.svg`
70-
- For subpackages, e.g. `io.kestra.plugin.aws.s3`, add `io.kestra.plugin.aws.s3.svg`
71-
See example [here](https://github.com/kestra-io/plugin-elasticsearch/blob/master/src/main/java/io/kestra/plugin/elasticsearch/Search.java#L76).
72-
- [ ] Use `"{{ secret('YOUR_SECRET') }}"` in the examples for sensible infos such as an API KEY.
73-
- [ ] If you are fetching data (one, many or too many), you must add a `Property<FetchType> fetchType` to be able to use `FETCH_ONE`, `FETCH` and even `STORE` to store big amount of data in the internal storage.
74-
- [ ] Align the `"""` to close examples blocks with the flow id.
75-
- [ ] Update the existing `index.yaml` for the main plugin, and for each new subpackage add a metadata file named exactly after the subpackage (e.g. `s3.yaml` for `io.kestra.plugin.aws.s3`) under `src/main/resources/metadata/`, following the same schema.
76-
77-
🧪 **Tests**
78-
- [ ] Unit Tests added or updated to cover the change (using the `RunContext` to actually run tasks).
79-
- [ ] Add sanity checks if possible with a YAML flow inside `src/test/resources/flows`.
80-
- [ ] Avoid disabling tests for CI. Instead, configure a local environment whenever it's possible with `.github/setup-unit.sh` (to be set executable with `chmod +x setup-unit.sh`) (which can be executed locally and in the CI) all along with a new `docker-compose-ci.yml` file (do **not** edit the existing `docker-compose.yml`). If needed, create an executable (`chmod +x cleanup-unit.sh`) `cleanup-unit.sh` to remove the potential costly resources (tables, datasets, etc).
81-
- [ ] Provide screenshots from your QA / tests locally in the PR description. The goal here is to use the JAR of the plugin and directly test it locally in Kestra UI to ensure it integrates well.
82-
83-
📤 **Outputs**
84-
- [ ] Do not send back as outputs the same infos you already have in your properties.
85-
- [ ] If you do not have any output use `VoidOutput`.
86-
- [ ] Do not output twice the same infos (eg: a status code, an error code saying the same thing...).
43+
- [ ] I have read and followed the [plugin contribution guidelines](https://kestra.io/docs/plugin-developer-guide/contribution-guidelines)

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
plugins {
2-
id "com.vanniktech.maven.publish" version "0.35.0"
2+
id "com.vanniktech.maven.publish" version "0.36.0"
33
id "io.kestra.gradle.inject-bom-versions" version "1.0.0"
44
id 'java-library'
55
id "idea"
66
id 'jacoco'
77
id "com.adarshr.test-logger" version "4.0.0"
8-
id "com.gradleup.shadow" version "9.3.0"
8+
id "com.gradleup.shadow" version "9.3.1"
99
id 'signing'
1010
id "com.github.ben-manes.versions" version "0.53.0"
1111
id 'net.researchgate.release' version '3.1.0'
@@ -119,7 +119,7 @@ configurations {
119119
}
120120

121121
dependencies {
122-
agent "org.aspectj:aspectjweaver:1.9.25"
122+
agent "org.aspectj:aspectjweaver:1.9.25.1"
123123
}
124124

125125
test {

gradle/wrapper/gradle-wrapper.jar

718 Bytes
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

src/main/java/io/kestra/plugin/datagen/BatchGenerateInterface.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ public interface BatchGenerateInterface extends GenerateInterface{
1010

1111
@Schema(
1212
title = "Store generated data",
13-
description = "If true, the generated data will be persisted to Kestra's internal storage. If false, the data is emitted part of the task output."
13+
description = "Persist output to Kestra internal storage as Ion lines when true; defaults to false to return the value inline."
1414
)
1515
Property<Boolean> getStore();
1616

1717
@Schema(
1818
title = "Batch size",
19-
description = "The number of items to generate when storing data. This is only applicable when 'store' is set to true."
19+
description = "Number of items to generate when storing data; only used if `store` is true. Defaults to 1."
2020
)
2121
Property<Integer> getBatchSize();
2222

src/main/java/io/kestra/plugin/datagen/Data.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,26 @@
1313
public class Data implements io.kestra.core.models.tasks.Output {
1414

1515
@Schema(
16-
title = "Size of the generated data",
17-
description = "The total size in bytes of the generated data value or file."
16+
title = "Generated size (bytes)",
17+
description = "Total size in bytes of the returned value or stored Ion file."
1818
)
1919
private Long size;
2020

2121
@Schema(
22-
title = "Total number of the generated items",
23-
description = "The total number of items generated by the task."
22+
title = "Items generated",
23+
description = "Number of records produced by the generator."
2424
)
2525
private Integer count;
2626

2727
@Schema(
28-
title = "Generated data value",
29-
description = "The actual content of the generated data. This can be a string, number, JSON object, or binary payload depending on the generator configuration."
28+
title = "Generated value",
29+
description = "Inline content when `store` is false; null when data is stored. May be string, number, JSON object, or byte array depending on the generator."
3030
)
3131
private final Object value;
3232

3333
@Schema(
34-
title = "The generated file URI."
34+
title = "Stored file URI",
35+
description = "URI in internal storage when `store` is true; null for inline outputs."
3536
)
3637
private final URI uri;
3738
}

src/main/java/io/kestra/plugin/datagen/GenerateInterface.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
public interface GenerateInterface {
99

1010
@Schema(
11-
title = "The Data Generator",
12-
description = "The data generator implementation responsible for producing the execution data."
11+
title = "Choose data generator",
12+
description = "Generator used for each record; required for all generate tasks and triggers."
1313
)
1414
@NotNull
1515
@PluginProperty

0 commit comments

Comments
 (0)