The following plugin provides functionality available through Pipeline-compatible steps. Read more about how to integrate steps into your Pipeline in the Steps section of the Pipeline Syntax page.

For a list of other such plugins, see the Pipeline Steps Reference page.

Xcode integration

importDeveloperProfile: Import developer profile

  • importIntoExistingKeychain (optional)
    • Type: boolean
  • keychainId (optional)
    • Type: String
  • keychainName (optional)
    • Type: String
  • keychainPath (optional)
    • Type: String
  • keychainPwd (optional)
    • Type: class hudson.util.Secret
  • profileId (optional)
    • Type: String

exportIpa: Export IPA

  • appURL (optional)
    • Type: String
  • archiveDir (optional)

    Specify the location of the path (usually BUILD_DIR specified by xcodebuild) to read the Archive for exporting the IPA file.
    Supports all macros and also environment and build variables from the Token Macro Plugin.
    For example you can use the value :

    ${WORKSPACE}/build
    • Type: String
  • assetPackManifestURL (optional)
    • Type: String
  • compileBitcode (optional)
    • Type: boolean
  • copyProvisioningProfile (optional)
    • Type: boolean
  • developmentTeamID (optional)
    • Type: String
  • developmentTeamName (optional)
    • Type: String
  • displayImageURL (optional)
    • Type: String
  • fullSizeImageURL (optional)
    • Type: String
  • ipaExportMethod (optional)
    • Type: String
  • ipaName (optional)
    • Type: String
  • ipaOutputDirectory (optional)
    • Type: String
  • keychainId (optional)
    • Type: String
  • keychainName (optional)
    • Type: String
  • keychainPath (optional)
    • Type: String
  • keychainPwd (optional)
    • Type: class hudson.util.Secret
  • manualSigning (optional)
    • Type: boolean
  • packResourcesAsset (optional)
    • Type: boolean
  • provisioningProfiles (optional)
      Array / List of Nested Object
    • provisioningProfileAppId
      • Type: String
    • provisioningProfileUUID
      • Type: String
  • resourcesAssetURL (optional)
    • Type: String
  • signingMethod (optional)
    • Type: String
  • stripSwiftSymbols (optional)
    • Type: boolean
  • symRoot (optional)
    • Type: String
  • thinning (optional)
    • Type: String
  • unlockKeychain (optional)
    • Type: boolean
  • uploadBitcode (optional)
    • Type: boolean
  • uploadSymbols (optional)
    • Type: boolean
  • xcodeName (optional)
    • Type: String
  • xcodeProjectPath (optional)
    • Type: String
  • xcodeSchema (optional)
    • Type: String
  • xcodeWorkspaceFile (optional)
    • Type: String

unlockMacOSKeychain: Unlock macOS X Keychain

  • keychainId (optional)
    • Type: String
  • keychainName (optional)
    • Type: String
  • keychainPath (optional)
    • Type: String
  • keychainPwd (optional)
    • Type: class hudson.util.Secret

xcodeBuild: Xcode

  • allowFailingBuildResults (optional)

    Checking this option will prevent a build step from failing if xcodebuild exits with a non-zero return code.
    This can be useful for build steps that run unit tests and also have a post-build task to publish unit test results: the test step will not fail the entire build for a failing unit test, but will instead mark the build unstable in the "publish test" phase.

    • Type: boolean
  • appURL (optional)
    • Type: String
  • assetPackManifestURL (optional)
    • Type: String
  • assetPacksBaseURL (optional)
    • Type: String
  • assetPacksInBundle (optional)
    • Type: boolean
  • buildDir (optional)

    The value to use for the BUILD_DIR setting. You only need to supply this value if you want the product of the Xcode build to be in a location other than the one specified in project settings and this job 'SYMROOT' parameter.
    Supports all macros and also environment and build variables from the Token Macro Plugin.
    For example you can use the value :

    ${WORKSPACE}/build
    • Type: String
  • buildIpa (optional)

    Checking this option will create a .ipa for each .app found in the build directory.
    An .ipa is basically a zipped up .app.
    This is quite handy for distributing ad-hoc builds to testers as they can just double-click the .ipa and it will import into iTunes.

    • Type: boolean
  • bundleID (optional)

    The new bundle ID. Usually something like com.companyname.projectname.

    • Type: String
  • bundleIDInfoPlistPath (optional)

    The path to the info.plist file which contains the CFBundleIdentifier of your project.
    Usually something like:

    • ${WORKSPACE}/ProjectName/Project-Info.plist
    • Type: String
  • cfBundleShortVersionStringValue (optional)

    This will set the CFBundleShortVersionString to the specified string.
    Supports all macros and also environment and build variables from the Token Macro Plugin.

    • Type: String
  • cfBundleVersionValue (optional)

    This will set the CFBundleVersion to the specified string.
    Supports all macros and also environment and build variables from the Token Macro Plugin.
    For example the value ${BUILD_NUMBER} will be replaced with the current build number.
    We advice you to generate a unique value for each build if you want for example deploy it into a private store.
    In that case, for example, you can use : ${JOB_NAME}-${BUILD_NUMBER}

    • Type: String
  • changeBundleID (optional)

    Checking this option will replace the bundle identifier.
    You will need to specify which bundle ID (CFBundleIdentifier) to use and where is the Info.plist file located.
    This is handy for example when you want to use a different code signing identity in your development projects.

    • Type: boolean
  • cleanBeforeBuild (optional)

    This will delete the build directories before invoking the build. This will force the rebuilding of ALL dependencies and can make large projects take a lot longer.

    • Type: boolean
  • cleanResultBundlePath (optional)

    This will delete the ResultBundlePath before invoking the build.
    If the directory already exists in the location specified by ResultBundlePath, xcodebuild will be an error and should be checked.

    • Type: boolean
  • cleanTestReports (optional)
    • Type: boolean
  • compileBitcode (optional)
    • Type: boolean
  • configuration (optional)

    This is the name of the configuration as defined in the Xcode project.
    By default there are Debug and Release configurations.

    • Type: String
  • copyProvisioningProfile (optional)
    • Type: boolean
  • developmentTeamID (optional)
    • Type: String
  • developmentTeamName (optional)
    • Type: String
  • displayImageURL (optional)
    • Type: String
  • fullSizeImageURL (optional)
    • Type: String
  • generateArchive (optional)

    Checking this option will create an .xcarchive .app found in the build directory.
    An .xcarchive is useful for submission to the app store or third party crash reporters.
    You must specify a Scheme to perform an archive.

    • Type: boolean
  • ignoreTestResults (optional)
    • Type: boolean
  • interpretTargetAsRegEx (optional)

    Build all entries listed under the "Targets:" section of the xcodebuild -list output that match the regexp.

    • Type: boolean
  • ipaExportMethod (optional)
    • Type: String
  • ipaName (optional)
    • Type: String
  • ipaOutputDirectory (optional)
    • Type: String
  • keychainId (optional)
    • Type: String
  • keychainName (optional)

    The name of this configured keychain. Each job will specify a keychain configuration by the name.

    • Type: String
  • keychainPath (optional)

    The path of the keychain to use to retrieve certificates to sign the package (default : ${HOME}/Library/Keychains/login.keychain).

    • Type: String
  • keychainPwd (optional)

    The password of the keychain to use to retrieve certificates to sign the package.

    • Type: class hudson.util.Secret
  • logfileOutputDirectory (optional)

    Specify the directory to output the log of xcodebuild.
    If you leave it blank, it will be output to "project directory/builds/${BUILD_NUMBER}/log" with other logs.
    If an output path is specified, it is output as a xcodebuild.log file in a relative directory under the "build output directory"

    • Type: String
  • manualSigning (optional)
    • Type: boolean
  • noConsoleLog (optional)
    • Type: boolean
  • provideApplicationVersion (optional)
    • Type: boolean
  • provisioningProfiles (optional)
      Array / List of Nested Object
    • provisioningProfileAppId
      • Type: String
    • provisioningProfileUUID
      • Type: String
  • resultBundlePath (optional)

    Specify the directory to output the output the test result.
    If you leave it blank, it will not output a test result and will not analyze the test results.
    If an output path is specified, it is output as a test result in a relative directory under the "ResultBundlePath".
    The plug-in analyzes the test result here and outputs a JUnit compatible XML file under the ${WORKSPACE}/test-reports.

    • Type: String
  • sdk (optional)

    You only need to supply this value if you want to specify the SDK to build against. If empty, the SDK will be determined by Xcode. If you wish to run OCUnit tests, you will need to use the iPhone Simulator's SDK, for example:

    /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/
    • Type: String
  • signingMethod (optional)
    • Type: String
  • stripSwiftSymbols (optional)
    • Type: boolean
  • symRoot (optional)

    You only need to supply this value if you want to specify the SYMROOT path to use.
    If empty, the default SYMROOT path will be used (it could be different depending of your Xcode version).
    Supports all macros and also environment and build variables from the Token Macro Plugin.
    For example you can use the value :

    ${WORKSPACE}/symroot
    • Type: String
  • target (optional)

    The target to build. If left empty, this will build all targets in the project.
    If you wish to build your binary and the unit test module, it is best to do this as two separate steps each with their own target.
    This was, the iPhone Simulator SDK can be specified for the unit tests.

    • Type: String
  • thinning (optional)
    • Type: String
  • unlockKeychain (optional)
    • Type: boolean
  • uploadBitcode (optional)
    • Type: boolean
  • uploadSymbols (optional)
    • Type: boolean
  • useLegacyBuildSystem (optional)

    Instead of "New Builld System" which became available from Xcode 9, we build the application using the legacy build system.
    There is a possibility that you can handle old projects that cause problems with the new build system.
    Also, since new output formats of logs are changed in the new build system, it is also useful when you want to handle logs with legacy third party tools.

    • Type: boolean
  • xcodeName (optional)
    • Type: String
  • xcodeProjectFile (optional)
    • Type: String
  • xcodeProjectPath (optional)
    • Type: String
  • xcodeSchema (optional)
    • Type: String
  • xcodeWorkspaceFile (optional)
    • Type: String
  • xcodebuildArguments (optional)

    Extra xcodebuild parameters, added after the command that jenkins generates based on the rest of the config

    • Type: String

Was this page helpful?

Please submit your feedback about this page through this quick form.

Alternatively, if you don't wish to complete the quick form, you can simply indicate if you found this page helpful?

    


See existing feedback here.