Continous deployment in wso2 api manager - api

Do i have the options of continuous deployment in wso2 api manager. For example - I have configured an API in test region & once API testing is done i need to promote the API to UAT region automatically rather than login again in UAT region configure the same API.

Currently we don't have that support. We have this feature in our roadmap.

You can do it by programmatically. write a java client to get the api details from one environment and then publish to the target environment using apimanager's publisher apis[1].
https://docs.wso2.com/display/AM170/Publisher+APIs

Related

Anypoint Platform - Connect API Manager with Cloudhub App using Autodiscovery ID

I have designed an API using API Designer and I deployed it in API
Manager.
Then, I have imported the API from API Designer in my
application/project from Anypoint Studio.
I have added an autodiscovery configuration. I set the flow which has
the HTTP Listener with the API Kit Router and the ID from API
Manager.
I have deployed the application in Cloudhub.
When I go to API Manager the status is Unregistered.
This is the API Configuration that I have:
Using the URL from Cloudhub as the Implementation URI.
Am I doing all the steps correctly? Why doesn't the API detect the implementation?
Make sure you configure the Autodiscovery Element with the correct values as they appear in the API Manager
<api-platform-gw:api apiName="<API Name>" version="<API Version>" flowRef="api-main" create="false" apikitRef="api-config" doc:name="API Autodiscovery" />
Also the API belong to an Environment so make sure In the Runtime Manager you are setting the environment client id and secret when deploy the application in Cloudhub:
The get the client id an secret for the specific Environment navigate to Anypoint Platform -> Access Management -> Environment.
Hope this helps...

How to linkup API in API manager with interface deployed in Cloud Hub?

I have an API deployed in API Manager, deployed one interface in cloud hub with API auto discover option.
In API manager, i gave cloudhub link as implementation url. so i thought both are linked up.
But when i apply SLA tier to API it is not getting applied. is there anything need to be done ?
Please first apply Auto discovery properly on the app. Create one API in the API manager. copy API ID into autodiscover configuration in the app. please find below link for details explanation.
Auto discovery article from dzone

API gateway vs Mule server

enter image description here
Do they each have a specific purpose? Is one better suited than the other for a particular task?
They are two different distributions and serve different purposes.
API Gateway- It has specific features to communicate to Anypoint Platform to manage APIs, apply runtime policies, send analytics, track APIs.
Task- For deploying your proxy API Application
Mule Server- Mule server is the runtime you use for your integrations.
Task- For deploying your actual implementation API Application
Since Mule runtime version v3.8.0, both are one and the same. This means that since that version, the runtime is shipped with API Gateway capabilities, and there is no more API Gateway specific distributions released. To enable API Gateway capabilities, if you have the correct entitlement, you only need to specify your organization credentials or environment credentials (this last, it is only applicable to Mule 4 or newer).
API Gateway capabilities are the only ones who "know" how to apply/un-apply Anypoint Policies and generate Analytics info, among other things.
For runtimes released before v3.8.0, the only way to leverage those capabilities was to use API Gateway distribution. For example, API Gateway v2.x is based on Mule runtime v3.7.x.

Securing REST API across environments

I have a REST API developed using Mule. It is deployed on prem Test and SystemTest environments. I can see that using Postman we can hit both test, systemtest API.
How do I make sure only applications can consume the API in the appropriate environments. There are system userids for each environments(C-users) and passwords which can be given to application consumers. The credentials need to be validated with Active directory LDAP Server.
How can we achieve this via Mule ESB?
For ex: application a1 running in Test should be able to consume only the API running in TEST. Application a1 running in Test should be able to consume only the API running in TEST.
Vinay,
I assume that the option of having multiple environments is not achievable.
Do you have access to Anypoint Platform? If you do, you can register your API there and generate a client id per environment.
Then you can apply Client ID Enforcement policy.

building APIs using API LM tools

am new to API LM & confused about Building APIs using tools such as apigee, 3scale, mashery, mulesoft, TIBCO APIX etc
all these years , I know API is all about a language's API or SDK which you use to write/build code/application to solve a business problem. Say Java API or J2EE API etc
Do I have to build my own dataservice using my application/system and expose it as a service (WS/REST) and use the above tools (apigee, 3scale, mashery, mulesoft ec) or does these tools allow a developer to Build APIs from the scratch?
In other words, do I create your own application within your enterprise (be it Java based, DB or a .Net service or a Web App hosted on weblogic) and expose it as API for B2D or DX (with auth, analytics, portal, developer access) which is called as "build an API"?
When using Apigee Edge, you must expose your backend as an http/https endpoint first. Then, you can add security, caching, quota, and many other features to your API facade. When using the Apigee-127 product, you can create an entire backend using Node.js locally and then deploy it to run in the cloud.