|
1 | 1 | { |
2 | 2 | "$schema": "http://json-schema.org/draft-07/schema#", |
3 | | - "title": "Workflow Configuration Schema", |
| 3 | + "title": "Workflow Configuration JSON Schema", |
4 | 4 | "version": "0.0.77", |
5 | 5 | "$defs": { |
6 | 6 | "ArrayParam": { |
|
86 | 86 | { |
87 | 87 | "type": "string" |
88 | 88 | }, |
| 89 | + { |
| 90 | + "type": "boolean" |
| 91 | + }, |
89 | 92 | { |
90 | 93 | "type": "null" |
91 | 94 | } |
|
168 | 171 | { |
169 | 172 | "type": "string" |
170 | 173 | }, |
| 174 | + { |
| 175 | + "type": "boolean" |
| 176 | + }, |
171 | 177 | { |
172 | 178 | "type": "null" |
173 | 179 | } |
|
248 | 254 | { |
249 | 255 | "type": "string" |
250 | 256 | }, |
| 257 | + { |
| 258 | + "type": "boolean" |
| 259 | + }, |
251 | 260 | { |
252 | 261 | "type": "null" |
253 | 262 | } |
|
356 | 365 | }, |
357 | 366 | "timezone": { |
358 | 367 | "default": "UTC", |
359 | | - "description": "A timezone string value.", |
| 368 | + "description": "A timezone string value that will pass to ZoneInfo.", |
360 | 369 | "enum": [ |
361 | 370 | "Africa/Abidjan", |
362 | 371 | "Africa/Accra", |
|
974 | 983 | "type": "object" |
975 | 984 | }, |
976 | 985 | "CrontabValue": { |
977 | | - "description": "Crontab model using interval-based specification.\n\nAttributes:\n interval: Scheduling interval ('daily', 'weekly', 'monthly').\n day: Day specification for weekly/monthly schedules.\n time: Time of day in 'HH:MM' format.", |
| 986 | + "description": "Crontab model using interval-based specification.\n\nAttributes:\n interval: (Interval)\n A scheduling interval string ('daily', 'weekly', 'monthly').\n day: (str, default None)\n Day specification for weekly/monthly schedules.\n time: Time of day in 'HH:MM' format.", |
978 | 987 | "properties": { |
979 | 988 | "extras": { |
980 | 989 | "additionalProperties": true, |
|
984 | 993 | }, |
985 | 994 | "timezone": { |
986 | 995 | "default": "UTC", |
987 | | - "description": "A timezone string value.", |
| 996 | + "description": "A timezone string value that will pass to ZoneInfo.", |
988 | 997 | "enum": [ |
989 | 998 | "Africa/Abidjan", |
990 | 999 | "Africa/Accra", |
|
1590 | 1599 | "type": "string" |
1591 | 1600 | }, |
1592 | 1601 | "interval": { |
| 1602 | + "description": "A scheduling interval string.", |
1593 | 1603 | "enum": [ |
1594 | 1604 | "daily", |
1595 | 1605 | "weekly", |
|
1612 | 1622 | }, |
1613 | 1623 | "time": { |
1614 | 1624 | "default": "00:00", |
| 1625 | + "description": "A time of day that pass with format 'HH:MM'.", |
| 1626 | + "pattern": "\\d{2}:\\d{2}", |
1615 | 1627 | "title": "Time", |
1616 | 1628 | "type": "string" |
1617 | 1629 | } |
|
1633 | 1645 | }, |
1634 | 1646 | "timezone": { |
1635 | 1647 | "default": "UTC", |
1636 | | - "description": "A timezone string value.", |
| 1648 | + "description": "A timezone string value that will pass to ZoneInfo.", |
1637 | 1649 | "enum": [ |
1638 | 1650 | "Africa/Abidjan", |
1639 | 1651 | "Africa/Accra", |
|
2437 | 2449 | { |
2438 | 2450 | "type": "string" |
2439 | 2451 | }, |
| 2452 | + { |
| 2453 | + "type": "boolean" |
| 2454 | + }, |
2440 | 2455 | { |
2441 | 2456 | "type": "null" |
2442 | 2457 | } |
|
2527 | 2542 | { |
2528 | 2543 | "type": "string" |
2529 | 2544 | }, |
| 2545 | + { |
| 2546 | + "type": "boolean" |
| 2547 | + }, |
2530 | 2548 | { |
2531 | 2549 | "type": "null" |
2532 | 2550 | } |
|
2690 | 2708 | { |
2691 | 2709 | "type": "string" |
2692 | 2710 | }, |
| 2711 | + { |
| 2712 | + "type": "boolean" |
| 2713 | + }, |
2693 | 2714 | { |
2694 | 2715 | "type": "null" |
2695 | 2716 | } |
|
2722 | 2743 | }, |
2723 | 2744 | { |
2724 | 2745 | "type": "string" |
| 2746 | + }, |
| 2747 | + { |
| 2748 | + "additionalProperties": true, |
| 2749 | + "type": "object" |
2725 | 2750 | } |
2726 | 2751 | ], |
2727 | 2752 | "description": "A items for passing to stages via ${{ item }} template parameter.", |
|
3079 | 3104 | "description": "Runs-on Docker container.", |
3080 | 3105 | "properties": { |
3081 | 3106 | "type": { |
3082 | | - "const": "docker", |
3083 | | - "default": "docker", |
3084 | | - "title": "Type", |
3085 | | - "type": "string" |
| 3107 | + "$ref": "#/$defs/RunsOn", |
| 3108 | + "default": "docker" |
3086 | 3109 | }, |
3087 | 3110 | "with": { |
3088 | 3111 | "$ref": "#/$defs/DockerArgs" |
|
3095 | 3118 | "description": "Runs-on local.", |
3096 | 3119 | "properties": { |
3097 | 3120 | "type": { |
3098 | | - "const": "local", |
3099 | | - "default": "local", |
3100 | | - "title": "Type", |
3101 | | - "type": "string" |
| 3121 | + "$ref": "#/$defs/RunsOn", |
| 3122 | + "default": "local" |
3102 | 3123 | }, |
3103 | 3124 | "with": { |
3104 | 3125 | "additionalProperties": true, |
|
3114 | 3135 | "description": "Runs-on self-hosted.", |
3115 | 3136 | "properties": { |
3116 | 3137 | "type": { |
3117 | | - "const": "self_hosted", |
3118 | | - "default": "self_hosted", |
3119 | | - "title": "Type", |
3120 | | - "type": "string" |
| 3138 | + "$ref": "#/$defs/RunsOn", |
| 3139 | + "default": "self_hosted" |
3121 | 3140 | }, |
3122 | 3141 | "with": { |
3123 | 3142 | "$ref": "#/$defs/SelfHostedArgs" |
|
3174 | 3193 | { |
3175 | 3194 | "type": "string" |
3176 | 3195 | }, |
| 3196 | + { |
| 3197 | + "type": "boolean" |
| 3198 | + }, |
3177 | 3199 | { |
3178 | 3200 | "type": "null" |
3179 | 3201 | } |
|
3300 | 3322 | { |
3301 | 3323 | "type": "string" |
3302 | 3324 | }, |
| 3325 | + { |
| 3326 | + "type": "boolean" |
| 3327 | + }, |
3303 | 3328 | { |
3304 | 3329 | "type": "null" |
3305 | 3330 | } |
|
3380 | 3405 | { |
3381 | 3406 | "type": "string" |
3382 | 3407 | }, |
| 3408 | + { |
| 3409 | + "type": "boolean" |
| 3410 | + }, |
3383 | 3411 | { |
3384 | 3412 | "type": "null" |
3385 | 3413 | } |
|
3415 | 3443 | "title": "Rule", |
3416 | 3444 | "type": "string" |
3417 | 3445 | }, |
| 3446 | + "RunsOn": { |
| 3447 | + "description": "Runs-On enum object.", |
| 3448 | + "enum": [ |
| 3449 | + "local", |
| 3450 | + "self_hosted", |
| 3451 | + "azure_batch", |
| 3452 | + "aws_batch", |
| 3453 | + "cloud_batch", |
| 3454 | + "docker" |
| 3455 | + ], |
| 3456 | + "title": "RunsOn", |
| 3457 | + "type": "string" |
| 3458 | + }, |
3418 | 3459 | "SelfHostedArgs": { |
3419 | 3460 | "description": "Self-Hosted arguments.", |
3420 | 3461 | "properties": { |
|
3604 | 3645 | { |
3605 | 3646 | "type": "string" |
3606 | 3647 | }, |
| 3648 | + { |
| 3649 | + "type": "boolean" |
| 3650 | + }, |
3607 | 3651 | { |
3608 | 3652 | "type": "null" |
3609 | 3653 | } |
|
3684 | 3728 | { |
3685 | 3729 | "type": "string" |
3686 | 3730 | }, |
| 3731 | + { |
| 3732 | + "type": "boolean" |
| 3733 | + }, |
3687 | 3734 | { |
3688 | 3735 | "type": "null" |
3689 | 3736 | } |
|
3828 | 3875 | { |
3829 | 3876 | "type": "string" |
3830 | 3877 | }, |
| 3878 | + { |
| 3879 | + "type": "boolean" |
| 3880 | + }, |
3831 | 3881 | { |
3832 | 3882 | "type": "null" |
3833 | 3883 | } |
|
3986 | 4036 | "title": "Jobs", |
3987 | 4037 | "type": "object" |
3988 | 4038 | }, |
| 4039 | + "tags": { |
| 4040 | + "description": "A list of tag that use for simple grouping workflow.", |
| 4041 | + "items": { |
| 4042 | + "type": "string" |
| 4043 | + }, |
| 4044 | + "title": "Tags", |
| 4045 | + "type": "array" |
| 4046 | + }, |
3989 | 4047 | "created_at": { |
3990 | 4048 | "description": "A created datetime of this workflow template when loading from file.", |
3991 | 4049 | "format": "date-time", |
|
0 commit comments