swaggeraemosgi

Adobe Experience Manager OSGI config (AEM) API


Keywords
OpenAPI
License
Apache-2.0
Install
pip install swaggeraemosgi==1.0.0

Documentation

Swagger AEM OSGI

Swagger AEM OSGI is an OpenAPI specification for configuring Adobe Experience Manager (AEM) API.

This specification is used to generate client libraries for Ruby, Python, node.js, and Java using Swagger Code Generator.

Learn more about Swagger AEM:

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 Published Version README CHANGELOG swagger_aem_osgi Build Status
Python swaggeraemosgi Published Version README CHANGELOG
Java swaggeraemosgi4j Published Version README CHANGELOG
JavaScript Work in progress README CHANGELOG

Development

To run build targets using swagger-codegen in your path:

make <target>

If you want to use a custom swagger-codegen-cli.jar:

SWAGGER_CODEGEN_CLI_JAR=/path/to/swagger-codegen-cli.jar make <target>

Testing

Unit tests are generated by swagger-codegen 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|javascript|java] 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|javascript|java when the release is for the generated client, e.g. ruby-0.9.2, python-0.9.0

Presentations