What is the best way in Dev Portal to apply a Workflow for Manual API Key Approval?

Looking to see if there is a way to create a workflow in Dev Portal to manage the Maunal API Key process. Such as:

1.) When registering an App for a product or API that requires a manual approval a form is launched/presented for the App Owner to fill out. App Owner completes & submits form.

2.) A Email notification is sent to the Product Owner with the attached form.

3.) Product Owners approves API Key for the APP

4.) Email Notification is sent to App Owner of the approval.

Solved Solved
1 14 2,740
2 ACCEPTED SOLUTIONS

Yes, the Drupal Rules module can enable that flow. The Rules module can be enabled and configured in any Edge devportal to do what you describe.

The basics are described here.

I have rules defined to

  • send an email to the developer, when they request an app, saying "ok, we've got your request"
  • send an email to the admins, when a dev requests an app or key. The admins need to login to approve
  • send an email to the developer, when the admin approves a key request

The summary of rules looks like this:

2971-rules-summary.png

View solution in original post

@GOTTKR1 , Welcome to Apigee community.

  • Would you like to Approve Keys in Apigee Developer Portal instead of Apigee Edge ?
    • I am afraid, out of the box in Apigee Developer Portal we don't have this feature. But, We have successfully implemented this feature with little bit of customisation in developer portal for other customers. It should be not more than 8 - 16 hours of work.
    • You can approve key in Apigee Edge Out of the box.
  • When registering an App for a product or API that requires a manual approval a form is launched/presented for the App Owner to fill out. App Owner completes & submits form.
    • I believe this feature is not available out of the box. It has to be implemented with customization. I see 16 - 24 hours of work here depends on workflow.
  • An Email notification is sent to the Product Owner with the attached form.
    • Where are we tracking product owners ? I believe, this also needs some customization in Developer Portal.
  • Product Owners approves API Key for the APP
    • I believe, You would like to define product owners role & API Products changes from owner to owner.
    • If only certain product owners can approve certain apps, we need to custom implement same in Developer Portal.
  • Email Notifications
    • It should be simple to integrate into developer portal using out of the box rules as suggested by @Dino

PS : It should be quick to do above features in Developer Portal with little bit of Drupal Expertise. Apigee Developer Portal is built on top of famous Drupal CMS which gives lot of flexibility to implement custom workflows like above quickly. We have implemented same for many customers, one example is payeezy.

View solution in original post

14 REPLIES 14

Yes, the Drupal Rules module can enable that flow. The Rules module can be enabled and configured in any Edge devportal to do what you describe.

The basics are described here.

I have rules defined to

  • send an email to the developer, when they request an app, saying "ok, we've got your request"
  • send an email to the admins, when a dev requests an app or key. The admins need to login to approve
  • send an email to the developer, when the admin approves a key request

The summary of rules looks like this:

2971-rules-summary.png

Thank you we will try this approach

This is helpful, Thank you

Hi @Dino - is the second rule you got there working? I am trying to do a similar one but can't get the action trigger. I also couldn't understand how devportal can understand whether an app's status is changed or not. AFAIK portal doesn't store the apps, therefore can't trigger when status is "changed" as it doesn't know what the old value was, e.g. "Pending -> Approved". What is the secret here? 🙂

Did you happen to get it working now? I also need something like this

Late but still accurate.

The secret is in enabling the cron-based check of key statuses. See here.

Be careful as this may slow things down if you have 10's of 1000's of keys.

@Dino Hello, can you please provide details on how to create an event "upon change of a developer app's overall status from pending to approved"? I'm sure many people like me needed to act on that event but don't know how to set up the event and conditions or would you please just post the export of the rule?

Sorry I don't have that portal set up any longer.

Can you check this answer to see if it satisfies?

@Dino-at-Google The links you provided is not found. Can you please relink?

Hmm, I don't know what to say. The link works for me.

I don't know what to do at this point.

@ApigeeSupport

@Apigee Support

Can I ask why the above link is "Not Found" for me? does it require an access that I don't have or something?

@Dino how we can set the second rule. Because in my dev portal installation I am not able to find any event that you mention in second rule i.e (upon change of a developer app's overall status from pending to approved)

@GOTTKR1 , Welcome to Apigee community.

  • Would you like to Approve Keys in Apigee Developer Portal instead of Apigee Edge ?
    • I am afraid, out of the box in Apigee Developer Portal we don't have this feature. But, We have successfully implemented this feature with little bit of customisation in developer portal for other customers. It should be not more than 8 - 16 hours of work.
    • You can approve key in Apigee Edge Out of the box.
  • When registering an App for a product or API that requires a manual approval a form is launched/presented for the App Owner to fill out. App Owner completes & submits form.
    • I believe this feature is not available out of the box. It has to be implemented with customization. I see 16 - 24 hours of work here depends on workflow.
  • An Email notification is sent to the Product Owner with the attached form.
    • Where are we tracking product owners ? I believe, this also needs some customization in Developer Portal.
  • Product Owners approves API Key for the APP
    • I believe, You would like to define product owners role & API Products changes from owner to owner.
    • If only certain product owners can approve certain apps, we need to custom implement same in Developer Portal.
  • Email Notifications
    • It should be simple to integrate into developer portal using out of the box rules as suggested by @Dino

PS : It should be quick to do above features in Developer Portal with little bit of Drupal Expertise. Apigee Developer Portal is built on top of famous Drupal CMS which gives lot of flexibility to implement custom workflows like above quickly. We have implemented same for many customers, one example is payeezy.

Not applicable

This is a great answer if I want to send to the admins but what if I want to enable a condition to send emails to different people based on the app requested? For instance, if a user requested approval for keys for app A then send an email to person1@jims.com and all other send to admins?


I started down the path of selecting a data selection condition using app:apiProducts but I can't find the product name to add to the values