Overview of the AirWatch Plugin for Jenkins for managing internal applications

Overview of the AirWatch Plugin for Jenkins for managing internal applications

Jenkins is an open source continuous integration server that you can integrate with AirWatch to help manage internal applications.  By integrating Jenkins with AirWatch, you can enable the system to automatically deliver new builds of internal applications to the AirWatch Admin Console when they are ready for deployment.  Automatic delivery ensures end users have access to the latest app features and fixes, while eliminating the manual step of uploading each new build to the AirWatch Admin Console.

Visit Jenkins’s site here for information about available functions, uses, and configurations of Jenkins.

To integrate the systems, follow these steps:

  • Download the AirWatch plugin for Jenkins from the AirWatch Resources Portal here.
  • Add the plugin to your Jenkins server environment following the procedures outlined on the Jenkins Wiki here.
    • Configure the plugin to enable communication between the two systems.

Configuration Settings

 Configure the plugin using the following actions to avoid issues with the plugin.

  • Do not enter HTTP or HTTPS in the URL while entering the AirWatch Server.
  • Do not enter spaces in the URL or any of the entry fields.
  • Ensure the APK or IPA file and the file path both have read and write permissions or the system returns a permission-denied-error while retrieving the AirWatch plugin file.
  • Ensure to use the set case for your settings because all fields are case sensitive.
  • Enter the fully qualified file path, and do not enter relative paths.  For example:
    • Enter <C:\\Apps/file.apk>
    • Do not enter < /apps.apk>
    • Configure access logs on the Jenkins server, go to Jenkins > Manage Jenkins > System log > Add new log recorder > Enter your project name > Add loggers > Enter com.airwatch.seamlessdeploymentofairwatchapp in the Loggers field.

Configuring the AirWatch Plugin

Set AirWatch configurations in Jenkins under the Configure option for the project. Add the plugin as post build actions and select AirWatch App Deployment.

Do not enter spaces in these settings and use the correct cases because settings are case sensitive.

Setting

Description

Required or

Optional

AirWatch Server URL

Enter the address of the AirWatch server that deploys the application.

  • Do not enter HTTP or HTTPS.
  • Do not enter spaces in the URL.

Required

File Path

Enter the file path Jenkins navigates to and retrieves application builds.

  • Include the application name and extension in the path.
  • Ensure file paths and files have read and write permissions.
  • Enter a fully qualified file path, and do not enter relative paths.

Required

Application Name

Enter the name of the application the system displays in the AirWatch app catalog.

Required

API Key

Enter the API key the AirWatch system uses to upload the application to the configured AirWatch organization group.

 

Find this information in the AirWatch Admin Console by selecting the applicable organization group and then navigating to Groups & Settings > All Settings > System > Advanced > API > REST API.

Required

Username

Enter the username of the AirWatch admin account used to initiate API calls from Jenkins to AirWatch.

Required

Password

Enter the password for the username of the AirWatch admin account used to initiate API calls from Jenkins to AirWatch.

Required

Organization Group Name

Enter the name of the AirWatch organization group where the system uploads and publishes the application.

Required

Organization Group ID

Enter the ID that identifies the AirWatch organization group where the system uploads and publishes the application.

 

Find the organization group ID in the record located in the AirWatch Admin Console at Groups & Settings > Groups > Organization Groups > List View.

Required

Smart Group Name

Enter the name of the AirWatch smart group where to assign and publish the application.

 

Add multiple smart groups using a comma to separate the names.

Optional

Push Mode

 

Enter the push mode to deploy the latest build of the app to devices.

  • Auto – Deploys apps to a device upon enrollment, or if the device is already enrolled, immediately prompts users to install the app on their devices.
  • On Demand – Deploys apps to the AirWatch app catalog and device users decide if and when to install them. 

Optional

Bundle ID

Enter the specific bundle ID for the application to enable the following actions:

  • Get Available Versions – Enables AirWatch to pull and populate a list of versions available in the AirWatch Admin Console.
  • Delete Previous Version – Enables AirWatch to clear old app files.

Optional

Delete Previous Version

Use Get Available Versions to display a list of versions in AirWatch.

 

From this list, select and enter the versions you want to delete from the AirWatch Admin Console after the next build delivery.

 

Note: Consider keeping at least one version in case you need to revert to it.

Optional

Results of Integration

When Jenkins builds a new version of the project, the integration process adds the new app version to AirWatch automatically, without admin interaction.

Optional Master and Subordinate Server Configurations

If you use a master and subordinate configuration, you can use the Copy to Slave plugin (https://wiki.jenkins-ci.org/display/JENKINS/Copy+To+Slave+Plugin) in conjunction with the AirWatch plugin.

This plugin helps you copy files from subordinate workspaces back to the master workspace. After copying subordinate files to the master server, you can enter the file path on the master server to deploy the app to AirWatch.

Known API Issues

The following items are known issues for the AirWatch plugin.

  • When uploading files using the plugin, the system is not extracting the icon from the IPA. 
  • The plugin defaults to All as the supported iOS version, but the manual upload defaults to the specific iOS version an app supports.
  • The system does not extract the file’s icon when any application version is deleted while deploying the application.

Applicable AirWatch APIs

You can use the following APIs to troubleshoot issues that could arise with integration. For information about AirWatch APIs, see the AirWatch REST API Guide, available on AirWatch Resources (https://resources.air-watch.com).

  • ORGANIZATION_GROUP_ID_SEARCH
  • SMART_GROUP_ID_SEARCH
  • UPLOAD_BLOB
  • UPLOAD_APPICATION
  • ASSIGN_SMARTGROUP
  • APPLICATION_SEARCH
  • DELETE_APPLICATION   
Have more questions? Submit a request

0 Comments

Article is closed for comments.