Why isn't Jenkins supported by Microsoft?

Jenkins Support Explanation

Jenkins is an open-source CI suite; because of this many issues that are directly caused by the Jenkins itself will need to be filed as issues against where you got the code; such as the main Jenkins repo, or the repo for Jenkins.app.

The exception to this is for issues that can be isolated to particular bugs in Xamarin's tools; if you suspect this to be the case you can check your support options, though again, the issue might be something outside what the Xamarin support team can directly help with.

Setup Jenkins with Xamarin

While as noted above Jenkins issues aren't supported directly by our team; the Using Jenkins with Xamarin guide can be used to set up a Jenkins CI server that's integrated with Xamarin.

Fixes for common issues

Jenkins is unable to find the Android SDK

The error message for this issue is something like this:

error XA5205: The Android SDK Directory could not be found. Please set via /p:AndroidSdkDirectory

Your options for setting the SDK location may vary depending on the exact Jenkins Android plugin you're using; a good place to look for how to set this is in the plugin guide. For example; the Android Emulator Plugin automatically looks for the SDK, but if it can't find it; the location can also be set via the Jenkins System Configuration page for that plugin.

Deprecated Errors

Important

This issue has been resolved in recent versions of Xamarin. However, if the issue occurs on the latest version of the software, please file a new bug with your full versioning information and full build log output.

Jenkins reports an invalid Xamarin license

The error messages for this issue are typically something like

XA9008 error: Building from command line requires a business license

or

Error: The Starter Edition of Xamarin.iOS does not support building outside of Xamarin Studio

The most common cause of this scenario is the use of Jenkins by logging in with a user account not associated with your Xamarin license. The simplest way of resolving this, is to install Jenkins as an app directly via the user account.