Skip to content

Fixes #420 - Add http invocation function definition #647

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 14 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# the repo. Unless a later match takes precedence,
# They will be requested for
# review when someone opens a pull request.
* @tsurdilo @ricardozanini @manuelstein @cdavernas @antmendoza
* @tsurdilo @ricardozanini @cdavernas @antmendoza
1 change: 0 additions & 1 deletion MAINTAINERS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Serverless Workflow Org Maintainers

* [Manuel Stein](https://github.com/manuelstein)
* [Tihomir Surdilovic](https://github.com/tsurdilo)
* [Ricardo Zanini](https://github.com/ricardozanini)
* [Charles d'Avernas](https://github.com/cdavernas)
Expand Down
1 change: 0 additions & 1 deletion OWNERS
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# See the GOVERNANCE.md document for the definition of the roles and responsibilities
maintainers:
- tsurdilo
- manuelstein
- ricardozanini
- cdavernas
- antmendoza
Expand Down
36 changes: 6 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@ Cloud Native Sandbox level project on July 14, 2020.
- [Community](#Community)
- [Communication](#Communication)
- [Code of Conduct](#Code-of-Conduct)
- [Meetings](#Meetings)
- [Meeting Minutes](#Meeting-Minutes)
- [Weekly Meetings](#Weekly-Meetings)
- [Repository Structure](#Repository-Structure)
- [Support](#Support)

Expand Down Expand Up @@ -121,40 +120,17 @@ religion, or nationality.

See our full project Code of Conduct information [here](code-of-conduct.md).

### Meetings
### Weekly Meetings

* [CNCF public events calendar](https://www.cncf.io/calendar/)
The Serverless Workflow team meets weekly, every Monday at 11AM ET (USA Eastern Time).

The Serverless Workflow team meets weekly, every Wednesday at 11AM ET (USA Eastern Time).

Join from PC, Mac, Linux, iOS or Android via [zoom](https://zoom.us/my/cncfserverlesswg?pwd=YjNqYzhOdjRRd01YWFkzS1lHbDZqUT09)

Or iPhone one-tap :

US: +16465588656,,3361029682# or +16699006833,,3361029682#

Or Telephone:

Dial:
US: +1 646 558 8656 (US Toll) or +1 669 900 6833 (US Toll)
or +1 855 880 1246 (Toll Free) or +1 877 369 0926 (Toll Free)

Meeting ID: 336 102 9682

International numbers available:
https://zoom.us/zoomconference?m=QpOqQYfTzY_Gbj9_8jPtsplp1pnVUKDr

NOTE: Please use \*6 to mute/un-mute your phone during the call.
To register for meetings please visit our [website](https://serverlessworkflow.io/) and click on the
"Register for Weekly Project Meetings" button.
You can register for individual meetings or for the entire series.

World Time Zone Converter:
http://www.thetimezoneconverter.com/?t=9:00%20am&tz=San%20Francisco&

### Meeting Minutes

You can find meeting minutes [here](meetingminutes).
Note that unfortunately we have lost our Google doc which contained meeting info for our prior meetings.
We will move all meeting info to our github repo so that this never happens again.

## Repository Structure

Here is the outline of the repository to help navigate the specification
Expand Down
2 changes: 1 addition & 1 deletion roadmap/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ _Status description:_
| ✔️| Apply fixes to auth spec schema [workflow schema](https://github.com/serverlessworkflow/specification/tree/main/schema) |
| ✔️| Update the `dataInputSchema` top-level property by supporting the assignment of a JSON schema object [workflow schema](https://github.com/serverlessworkflow/specification/tree/main/specification.md#workflow-definition-structure) |
| ✔️| Add the new `WORKFLOW` reserved keyword to workflow expressions |
| ✔️| Add the new `http` function type [spec doc](https://github.com/serverlessworkflow/specification/tree/main/specification.md#using-functions-for-http-service-invocations) |
| ✏️️| Add inline state defs in branches | |
| ✏️️| Update rest function definition | |
| ✏️️| Add "completedBy" functionality | |
| ✏️️| Define workflow context | |
| ✏️️| Start work on TCK | |
Expand Down
58 changes: 50 additions & 8 deletions schema/functions.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,28 +35,51 @@
"minLength": 1
},
"operation": {
"type": "string",
"description": "If type is `rest`, <path_to_openapi_definition>#<operation_id>. If type is `asyncapi`, <path_to_asyncapi_definition>#<operation_id>. If type is `rpc`, <path_to_grpc_proto_file>#<service_name>#<service_method>. If type is `graphql`, <url_to_graphql_endpoint>#<literal \\\"mutation\\\" or \\\"query\\\">#<query_or_mutation_name>. If type is `odata`, <URI_to_odata_service>#<Entity_Set_Name>. If type is `expression`, defines the workflow expression.",
"minLength": 1
"type": "object",
"$ref": "#/definitions/operation"
},
"type": {
"type": "string",
"description": "Defines the function type. Is either `rest`, `asyncapi, `rpc`, `graphql`, `odata`, `expression`, or `custom`. Default is `rest`",
"description": "Defines the function type. Is either `rest`, `openapi`,`asyncapi, `rpc`, `graphql`, `odata`, `expression`, or `custom`. Default is `openapi`.",
"enum": [
"rest",
"openapi",
"asyncapi",
"rpc",
"graphql",
"odata",
"expression",
"custom"
],
"default": "rest"
"default": "openapi"
},
"authRef": {
"type": "string",
"description": "References an auth definition name to be used to access to resource defined in the operation parameter",
"minLength": 1
"oneOf": [
{
"type": "string",
"description": "References the auth definition to be used to invoke the operation",
"minLength": 1
},
{
"type": "object",
"description": "Configures both the auth definition used to retrieve the operation's resource and the auth definition used to invoke said operation",
"properties": {
"resource": {
"type": "string",
"description": "References an auth definition to be used to access the resource defined in the operation parameter",
"minLength": 1
},
"invocation": {
"type": "string",
"description": "References an auth definition to be used to invoke the operation"
}
},
"additionalProperties": false,
"required": [
"resource"
]
}
]
},
"metadata": {
"$ref": "common.json#/definitions/metadata"
Expand All @@ -67,6 +90,25 @@
"name",
"operation"
]
},
"operation": {
"oneOf": [
{
"type": "string",
"description": "If type is `openapi`, <path_to_openapi_definition>#<operation_id>. If type is `asyncapi`, <path_to_asyncapi_definition>#<operation_id>. If type is `rpc`, <path_to_grpc_proto_file>#<service_name>#<service_method>. If type is `graphql`, <url_to_graphql_endpoint>#<literal \\\"mutation\\\" or \\\"query\\\">#<query_or_mutation_name>. If type is `odata`, <URI_to_odata_service>#<Entity_Set_Name>. If type is `expression`, defines the workflow expression.",
"minLength": 1
},
{
"type": "object",
"description": "OpenAPI Path Object definition",
"$comment": "https://spec.openapis.org/oas/v3.1.0#paths-object",
"patternProperties": {
"^/": {
"type": "object"
}
}
}
]
}
}
}
Loading