syndesisio / syndesis-project

Placeholder repository for project management
https://syndesis.io/
Apache License 2.0
6 stars 12 forks source link

As an expert integrator, create an API connector #173

Closed kcbabo closed 6 years ago

kcbabo commented 6 years ago

As an expert integrator, I need the ability to create API connectors within Syndesis so that citizen integrators can create connections to those APIs and integrate with them. The APIs my team will integrate with provide a Swagger definition describing all the details Syndesis requires to create a new API connector.

When creating a new API connector, I need the ability to import an existing Swagger definition from my local file system or a remote URL. When importing a Swagger definition, I expect Syndesis to verify that the document is valid and supplies all information required to create an API connector. If the document is invalid or does not supply required information, Syndesis should provide me with a warning with details and not allow an API connector to be created. In the event that the API definition does not declare request or response types, the definition should not be considered invalid and any resource operations missing type information should result in typeless actions in the connector.

Assuming a valid Swagger definition, each resource operation should be mapped to an action for the connector, where the name of the action is a combination of resource path and HTTP verb and the description is pulled from the corresponding documentation (if available) in the Swagger definition. The review UI should group operations by resource (e.g. /pets PUT, GET, POST, DELETE) and support search and filter controls in the event that a Swagger definition contains lots of resource operations.

After reviewing available actions, I need to provide details on what security will be used for connections created from the API connector. I would like to select and configure from the following list of options (note - additional options will be available in the future):

As a final step, I want the ability to specify my own name and description for the connector. A reasonable default should be pulled from the Swagger definition, but I also want the ability to change any default values for name and description.

If OAuth is used to secure the API endpoint, a new OAuth bucket should be created for the API on the OAuth Configuration page within the Syndesis UI.

kcbabo commented 6 years ago

Note : this is 1 of 3 epics for API connector. I will file the other two in a moment.

zregvart commented 6 years ago

@kcbabo I'm reading this as we want to allow the expert integrator the ability to pick and choose REST operations included as actions in the new API connector. Firstly am I reading this right?

If so, this might be a UX issue as there could be a great number of endpoints (even grouped) to go through, so I'm wondering if it's worth the effort. Perhaps the expert integrator can edit the Swagger specification file directly and pick just the REST operations needed?

When selecting actions to include in the connector, I want the ability to select all resource operations, all operations for a specific resource, and specific operations for specific resources (e.g. only PUT and GET for /pets).