◷ Reading Time: 7 minutes
You can deploy a project as an Azure Function. By doing this, it will not be required to install FlexRule Server in order to get the service URL of your project.
For example, we are deploying this Decision Table. It takes a person’s age as an input and outputs the title according to the age range.

This is the input object of the decision table.
{ "person": { "Age":0, "Title":null } }
The complete project is attached at the end of the page.
How to Deploy
Open the Project’s Entry Document
Open your project’s entry document.
In this example, the decision table is the entry document.

Open Package Builder
Click on the Package Builder.

Add your package details such as,
- Package identifier
- Package version
- Service version

Go to Deployment tab and select Azure Function.

Enter Azure subscription details.

Download the cloud-deployment Runtime file from the FlexRule user portal’s Licenses section, if you haven’t downloaded it already (If you require a license, contact the support team).

Select the Runtime license file. The Runtime folder will be automatically taken from the Runtime path you have defined in your project.

Click Publish.

Once the package was created successfully, you will see a confirmation message.

The deployment will happen in the background. On the background task window, you will see the list of deployment tasks.
The complete list of deployment tasks can be seen along with their status.

View Deployment URLs
Click on View Task Result to see the results.

You will receive the URLs of the successful deployment.
- Execute Url: The URL to be used to call the service
e.g.https://defineagetitle-9johvqo.azurewebsites.net/api/Execute/defineagetitle/1/person growing state/1?code=BJuUFuvcMbdN0P1Y8wkrrIfizL0ePw5JGqPHdYsFO9FBAzFu9jW4fA==
- Package Name Url: Retrieve the list of naming applications with the same package name
e.g.https://defineagetitle-9johvqo.azurewebsites.net/api/Services/defineagetitle/?code=FenY0rALPNquoR8b6YbJLPmj-XOlshfqd31kVp9ILhqyAzFuK3N-kA==
- Package Version Url: Retrieve the list of naming applications with the same package name and Package version
e.g.https://defineagetitle-9johvqo.azurewebsites.net/api/Services/defineagetitle/1/?code=FenY0rALPNquoR8b6YbJLPmj-XOlshfqd31kVp9ILhqyAzFuK3N-kA==
- Service Version Url: Retrieve the list of parameters
e.g.https://defineagetitle-9johvqo.azurewebsites.net/api/Services/defineagetitle/1/person growing state/1?code=FenY0rALPNquoR8b6YbJLPmj-XOlshfqd31kVp9ILhqyAzFuK3N-kA==
- Services Url: Retrieve the list of available services
e.g.https://defineagetitle-9johvqo.azurewebsites.net/api/Services/?code=FenY0rALPNquoR8b6YbJLPmj-XOlshfqd31kVp9ILhqyAzFuK3N-kA==

Update an Existing App
Once you deploy a service, you can use the following options to update the service.
- Identifier: This should be similar to the identifier name you provided on the initial deployment
- Identifier Version: This should be similar to the identifier version you provided on the initial deployment
- Service Version: This is the new service version which should be different from version you provided on the previous deployment

Then add the following information under the Deployment tab.
- Update App: Select this if you want to update an app
- Function App Name: The name of the Function App (Copy the exact app name from the Azure portal or from the execute URL)
- Set as Default: If you want to set the version that you are about to publish as default, select this
Function App Name can be extracted from the execute/ service URL
https://defineagetitle-vgke35s. azurewebsites.net/api/Execute/defineagetitle/1/person growing state/1?code=YF/cCCUW/C6nIcqjszaTCYlIM8V5c4Kmr86t4PoFeyeZPNJTNIaRVQ==
Or get Function App Name from Azure Resource Group


Once the re-deployment is completed successfully, you can access the new version via the default URL.
Note that the default version does not specify a service version. We set the default to the latest deployment version.
https://defineagetitle-vgke35s.azurewebsites.net/api/Execute/defineagetitle/1/person growing state?code=YF/cCCUW/C6nIcqjszaTCYlIM8V5c4Kmr86t4PoFeyeZPNJTNIaRVQ==
Troubleshooting
If there are any errors, you can see the specific task(s) with the error(s).

Select the errored task and click on View Task Result to see the detailed exception.

You will be able to see the detailed exception message.

If you select a task and click Repeat Task, you can re-run the selected task.

Once the deployment is completed you can see the completed status with the icon .
