Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Log in to the APIM management console (https://<Server Host>:9443/carbon) and select Browse under Resources.
  2. Go to the /_system/governance/apimgt/applicationdata/workflow-extensions.xml resource, disable the Simple Workflow Executor and enable WS Workflow Executor. 

    Code Block
    languagehtml/xml
    <WorkFlowExtensions>
    	....
    	<!-- Publisher related workflows -->
    	<!--<APIStateChange executor="org.wso2.carbon.apimgt.impl.workflow.APIStateChangeSimpleWorkflowExecutor" />-->
    	<APIStateChange executor="org.wso2.carbon.apimgt.impl.workflow.APIStateChangeWSWorkflowExecutor">
        	<Property name="processDefinitionKey">APIStateChangeApprovalProcess</Property>
        	<Property name="stateList">Created:Publish,Published:Block</Property>   	 
    	</APIStateChange>
    	....
    </WorkFlowExtensions>

    You have now engaged the API WS Workflow. The default configuration is set for Created to Publish and Published to Block state changes. See Advanced Configurations for information on configuring more state changes. 

  3. Log in to the API Publisher (https://<Server Host>:9443/publisher) and publish an API. See Create and Publish an API. A message related to the publish workflow will be displayed because the workflow is enabled for Created to Publish state change.

    Info

    Note that the Save & Publish button will be disabled until the workflow task is completed or deleted.

  4. You can revoke the state change by clicking Delete Task in the Lifecycle tab.

  5. Log in to the Admin Portal (https://<Server Host>:9443/admin) and click API State Change to see the list of tasks awaiting approval. 
    Click Assign to Me to approve the taskSelect Approve and click Complete to resume and complete the API state change.

...

 

Element name

Description

Enabled

Enables the Admin Portal to approve state change tasks.

ServerUrl

The URL of the BPMN server.

ServerUser

User accessing the BPMN REST API.

ServerPassword

Password of the user accessing the BPMN REST API.

WorkflowCallbackAPI

The REST API invoked by the BPMN to complete the workflow.

TokenEndPoint

The API call to generate the access token is passed to the BPMN process. Once the access token is received, it is used to call the workflow callback API.

DCREndPoint

Endpoint to generate OAuth application. This application is used by the BPMN process to generate the token.

DCREndPointUser

Endpoint user.

DCREndPointPassword

Endpoint password.

Note
titleSetting a DCREndPointUser

Create a user with exclusive apim:apiworkflow scope permissions when setting a DCREndPointUser. Please avoid using super admin credentials. If super admin credentioals are used, the created OAuth application will have all the permissions related to scopes in the other REST APIs. Follow the steps below to create a user with apim:apiworkflow scope permissions:

  1. Log in to  APIM management console (https://<Server Host>:9443/carbon) and create a role named workflowCallbackRole. Set create and publisher or subscriber permissions to this role.
  2. Go to Resources and click Browse. Go to /_system/config/apimgt/applicationdata/tenant-conf.json and update the role related to ‘apim:api_workflow’ scope with the newly created role.

    Code Block
    ...
          {
            "Name": "apim:api_workflow",
            "Roles": "workflowCallbackRole"
          }
    ...
  3. Assign this role to a user.
  4. Update <DCREndPointUser> and <DCREndPointPassword> with this user's credentials.

For more details on how to create users and roles see managing users and roles.

 


The configurations that can be changed by editing the /_system/governance/apimgt/applicationdata/workflow-extensions.xml are given below.

...