Git plugin release notes

4 minute readExtensibilityDeveloper productivity

1.14.1

  • Fixed issue that caused polling triggers to fail if Tags list contained regex patterns but Run the trigger for each tag? was not selected.

1.14.0

  • Upgraded dependencies.

  • Added the option 'Remove .git directory?'.

1.13.3

  • Upgraded dependencies.

1.13.2

  • Upgraded dependencies.

  • Added capability to the plugin setup procedure to process dependencies for CloudBees CD/RO IPv6 instances.

1.13.1

  • Improve delete branch action to allow deleting remote branches even if they do not exist locally.

  • Upgraded dependencies.

1.13.0

  • Upgraded dependencies.

  • Migrated to Java 17 and Groovy 3.

    Because of the Java versions supported by CloudBees CD/RO, you can only use EC-Git v1.13.0 with CloudBees CD/RO agents v10.11 and later.
  • Fixed a problem with JGit incorrectly stating the push was successful, when the push had actually failed.

  • Fixed cloning as a single branch.

  • Added the Branch to switch parameter to the Git plugin configuration, to optionally switch to a branch before deleting the branch specified in the Branch to delete parameter.

  • Upgraded JGit library to version 6.

  • Fixed issue with symbolic link when extracting dependencies.

1.12.4

  • Removed unnecessary libraries.

1.12.3

  • Fixed creating a remote branch with the JGit library.

  • Fixed catching errors during processing triggers.

  • Allowed special characters in username or password.

  • Implemented adding new files by simplified wildcard pattern to a commit for the JGit library.

1.12.2

  • Moved the git-wrapper library into a separate repository.

1.12.1

  • Added branch name to commit data output.

  • Value resolving was fixed if the trigger parameter was defined as a reference to a property.

1.12.0

  • Upgraded third-party dependencies.

  • Fixed workability of the Depth option in the Pull procedure.

  • Added option to create a new branch when pushing a commit.

  • Added procedure to delete an existing branch.

1.11.1

  • Upgraded Bouncy Castle jars to v1.70.

1.11.0

  • Updated the Git Setup for DevOps Insight procedure to create a new plugin configuration.

  • Added a Depth option to the Pull procedure.

1.10.3

  • Updated the documentation.

  • Fixed links for absolute paths of artifact directories.

  • Upgraded Jackson-Databind to v2.13.2.

1.10.2

  • Updated the Source Provider procedure to provide metadata to the Report Inventory procedure.

1.10.1

  • Upgraded Jackson-Databind to v2.13.1.

1.10.0

  • Added proxy support.

1.9.2

  • Added a property with the trigger schedule project name for the SCM Sync feature.

  • Added a compatibility property for the Source Provider procedure.

1.9.0

  • Added support for generating Git log reports.

1.8.0

  • Added an Ignore SSL errors flag.

  • Added the ability to reset uncommitted changes.

1.7.0

  • Added functionality to support the DSL round-trip feature.

  • Fixed case, to avoid using the exclude option for Git prior to v2.13.

1.6.1

  • Fixed an issue with the setup script.

1.6.0

  • Added support for the plugins configurations as objects.

  • Added support for SSH keys with passphrases.

1.5.0

  • Added submodule support to the Clone procedure and the Pull procedure.

  • Fixed an issue with overwriting sources during a multi-microservice application deployment.

1.4.0

  • Added integration with the CloudBees Analytics server.

1.3.0

  • For polling triggers, added the option to monitor tags for the specified repository and added support for the parsedWebhookData pipeline property.

  • Added support for mirroring a source repository during a clone.

  • Added the Path of the reference repo to use during clone option to use a cached copy of the repository.

  • Added the Clean the Workspace option to use during a pull.

  • Added the branch name to the clone/pull output data.

1.2.1

  • Upgraded third-party dependencies to address security issues.

1.2.0

  • Added the Source Provider procedure for the new Microservices model.

1.1.1

  • Fixed an issue for older configurations where Edit Configuration did not work properly.

1.1.0

  • Added Polling Triggers support.

  • Enhanced message and documentation on the unsupported private key types.

1.0.0

  • First release.

Known issues

Git

If using submodules, you should use one type of authentication to access the repository and submodules. Do not mix keys and passwords/tokens simultaneously.

  • For passwords or tokens, use a URL such as: https://github.com.

  • For keys, use a URL such as git@github.com.

Git versions prior to 2.13 do not support the exclude option in the name-rev command.

JGit library

  • JGit does not support shallow clones. For example, the Depth parameter of the Clone procedure. If you intend to use shallow clones, consider switching to the Git CLI.

  • JGit does not support private keys in OpenSSH format. Regenerate the key with a -m PEM. For more information, refer to the JSch library used by JGit: #129 "JSchException: invalid privatekey" on OpenSSH 7.8 and above.

  • JGit does not support mirroring a repo during cloning.

  • JGit does not support the use of a reference repo during cloning.

  • JGit nameRev can return tags instead of branches.

  • JGit uses deletion and following addition instead of renaming in its report.

GitHub

If you are using GitHub as a remote repository for hosting, do not use a password. Use a personal access token instead. For more information, refer to:

Schedule and trigger changes in CloudBees CD/RO 10.1

In CloudBees CD/RO 10.0 or earlier, the ECSCM-SentryMonitor scheduler checked the schedules and triggers related to Git repositories. Beginning in CloudBees CD/RO 10.1 or later, the ECSCM-SentryMonitor scheduler is no longer used. A new scheduler named PollingTriggers calls a procedure in the Git plugin, and it is not enabled by default. Refer to Configure polling triggers for instructions to enable the PollingTriggers schedule.

When upgrading from CloudBees CD/RO 10.0 or earlier to 10.1 or later, there is no automatic migration path. You must manually remove old triggers and manually create new triggers.

For example, there is a project: myProject; pipeline: myPipeline; trigger: myTrigger.

ectool deleteTrigger myProject myTrigger --pipelineName myPipeline

It uses a Git server with a self-signed certificate that returns SSL errors similar to the following:

  • javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

  • sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

  • sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

To avoid this problem, you must add certificates to the JRE Keystore.

  • For Windows, issue the following commands:

    cd C:\ProgramData\CloudBees\Software Delivery Automation\jre\lib\security keytool -importcert -file /tmp/CA_crt.pem -keystore cacerts -alias myRepository
  • For Linux, issue the following commands:

    cd /opt/cloudbees/sda/jre/lib/security keytool -importcert -file /tmp/CA_crt.pem -keystore cacerts -alias myRepository

Proxy

Proxy functionality is implemented for HTTP, HTTPS, SOCKS5 protocols but is only supported for HTTP and HTTPS using a Squid proxy server.