Swagger AEM OSGI
Swagger AEM OSGI is an OpenAPI specification for configuring Adobe Experience Manager (AEM) OSGI configuration API.
This specification is used to generate client libraries for Ruby and Python using OpenAPI Generator.
Learn more about Swagger AEM OSGI:
- Generated Clients
- Development
- Testing
- Frequently Asked Questions
- Versions History
- Contribution
- Presentations
Swagger AEM OSGI is part of AEM OpenCloud platform but it can be used as a stand-alone.
Generated Clients
Language | Package | Getting Started | Status |
---|---|---|---|
Ruby | swagger_aem_osgi | README CHANGELOG | |
Python | swaggeraemosgi | README CHANGELOG |
Development
To resolve swagger-aem-osgi dependencies:
make deps
To generate API clients:
make generate
To build language specific API clients:
make <ruby|python>
Testing
Unit tests are generated by OpenAPI Generator along with the client code.
Integration tests are part of Swagger AEM OSGI and require an AEM instance running on port 4502 with Shine Solutions AEM Health Check package installed.
By default it uses AEM running on http://localhost:4502 with admin
username and admin
password. AEM instance parameters can be configured using environment variables aem_protocol
, aem_host
, aem_port
, aem_username
, aem_password
, and aem_debug
.
Frequently Asked Questions
-
Q: How can I generate a new OpenAPI specification ?
A: To generate a new OpenAPI specification e.g. when there is a new release of AEM you simply can run the tool
api_generator.rb
.Usage:
# ruby tools/openapi_spec_generator.rb --in templates/api.yml --out conf/api.yml'
-
Q: How can I define a custom AEM host, user and password to generate OpenAPI Spec file ?
A: To run the OpenAPI Spec generator against a defined AEM Host or to define your own username and password to authenticate against AEM you need to define them as environment variables
usage:
aem_verify_ssl=false
aem_protocol=https \
aem_host=author.sandpit.aemopencloud.net \
aem_port=443 \
aem_username=admin \
aem_password=admin \
ruby tools/openapi_spec_generator.rb --in templates/api.yml --out conf/api.yml
Contribution
Since swagger-aem-osgi contains multiple languages, add a [ruby|python]
prefix to language-specific commits, this will help with filtering full commits log.
Tagging should also be prefixed with:
-
api
when the release is for the OpenAPI specification, e.g.api-1.0.0
-
ruby|python
when the release is for the generated client, e.g.ruby-0.9.2
,python-0.9.0