CI/CD / Rebuild a Azure APIM developer portal content - azure

In the Azure APIM, is it possible to manage the content in a programmatic way -let's say the REST API or SDK- when I have some changes in Developer Portal content?
I saw there are some articles mentioned to use the iFrame but it is still required to have manual change in portal. For CI/CD, the requirement is make everything as code. So when writer updated / create / rebuild content in the APIM platform, we can use the Jenkins or another tools to make it change.

Currently it is not possible to natively manage developer's portal content programmatically, with the exception of data generated by API Management (e.g., API descriptions or API operations are fetched live and API Management's API call response is mapped to UI).
However, there are plans to allow for more control and automation with regards to developer portal content, customizations and deployments.

Related

Migrating from Mulesoft to Azure APIM

There is possibly an option to export the Mulesoft assets into OAS / RAML file, which can then be imported into Azure APIM.
But is it even possible to extract all the relevant API specifications like API, Operations, Policies etc. that is needed by Azure APIM to create APIs using the OAS file / url import ??
I'm trying to find a way to migrate from Mulesoft APIs to Azure APIM based administration, but didn't come across a proper way of doing it end to end yet.
Any directions would help.
OAS (OpenAPI Specification) can be included to Azure API Management by importing the definition file by downloading it from Mulesoft.
While migrating the API we need to make sure about API URL Suffix to our desired API Path.
Below are few steps from Azure APIM to add the OAS:
After creation of APIM, we can Add API.
We will be displayed with multiple options in adding the API like App Service, Function App, Logic App.
Refer to the blog for details steps in achieving the task of transforming API to Azure APIM.

Is it possible to define parameters through portal for Logic App (Standard)?

I have a single-tenant logic app and a workflow under it that needs a configurable input. In a multi-tenant logic app, one can define parameters through the azure portal and reference them in workflow definition (actions/ triggers). Is this not possible with a single-tenant logic app?
I am not able to find the answer in the documentation.
I know a deployment template should consult parameters file for this, however, I still have the above question specifically if I am doing stuff through the portal.
Edit 7/12
I am referring to the parameters concept explained here, and not the parameters tab of the triggers or actions. See below the parameters that we can define through the portal when working with the consumption logic app.
The answer is: not yet. Support for parameters in the designer (and therefore in the Azure Portal) is on its way, but not available yet.
In VS Code, you can create a parameters.json file.
But in the portal, there's no option (yet) to create/edit parameters.
Bec Lyons (Microsoft) demoed a version of the designer with this in it, although I can't remember if this was in the June Logic Apps Live session, or in the July Integration Down Under session.
In any case, the only currently supported way to do this is to create a parameters.json file and upload it.
You can either do this from VS Code or Azure CLI (using the preview logicapps CLI extension) OR you can FTP to your Logic App and upload it via an FTP client (e.g. FileZilla) - you can get the FTP login details by clicking the "Get Publish Profile" button in the overview of your Logic Apps Standard resource.
Once they release support for this in the Portal/Designer, I'll update this answer.
Also, worth noting that as of this date (July 2021), there are issues using parameters in Managed API Triggers - not sure yet if this is by design, or if it's a bug. Specifically the FileSystem, FTP and FTPWithSSH (SFTP) triggers.
Hope this helps. Probably not the answer you were looking for, though!

Automate updates from Azure Function App to API Management

Given that Azure Functions can be imported to API Management as described here, how do we keep the API up to date when Azure Functions change? For example, if the Function signature changes or a function is added or removed. How can this process be automated, so once the Azure Functions change, the changes are reflected in the API?
Microsoft's API Management team has a proposed solution here, but it's not clear to me how this solution can be applied with Azure Function App as the backed-end for the API.
Yes, you need to make it as part of your release process. After publishing the new version of Azure Functions, you'll import the new specification into API Management.
https://marketplace.visualstudio.com/items?itemName=stephane-eyskens.apim
Once you import and publish an API in APIM it will not be updated automatically. So, even though the developers released a new build, the consumers would still consume the older version of the API published in APIM.
Try to use Azure DevOps pipelines for continuous delivery of APIs to Azure API Management Service.
Add a create/update task, which will create or update the API in APIM based on the Swagger file and also set different API policies. This task will also update the API in APIM in case the Dev guy will create new API methods or remove API methods.

How to automate the update of Web Service URL in Azure API management

How to automate the update of Web Service URL in Azure API management when CI/CD pipeline executes resulting in change of external IP.
You need to use the Open API specs from your APIs and use REST API / Powershell to update or add routes in API Management. There's also an extension but I am not sure if it's updated or not. You can read more about in here:
https://github.com/Azure/azure-api-management-devops-resource-kit

Create a developer portal/APIGEE+ WORDPRESS/

There is an existing developer portal in Drupal that uses APIGEE to give 3rd party developers access to remote API and documentation. The portal is not configured and costumized correctly so for this reason the portal has many problems.The website has its own database but also uses APigee db.
My task is to create a website by using cms/probably will be wordpress/, migrate the users and the forum from the existing database and establish connection with the API provider.
The idea is not to use the dev portal provided by APIGEE and DRUPAL but just make my own and use some of the things provided by Apigee.
Could tou give me some directions is that possible and where I need to dive in more?
Thanks a lot!
All the developer management and key management features in Apigee is accessible using REST APIs (protected by role based access control aka RBAC)
You can always develop any portal or UI of your choice and invoke these APIs provided by Apigee to implement features such as
Creating a new developer
allowing the developer to subscribe to API products
allow the developer create and manage his own API Apps, Keys
allow the developer to view App analytics etc.
You can follow the API documentation here:
https://docs.apigee.com/api/apps-developer

Resources