Class SCMHeadOrigin.Fork

java.lang.Object
jenkins.scm.api.SCMHeadOrigin
jenkins.scm.api.SCMHeadOrigin.Fork
All Implemented Interfaces:
Serializable
Enclosing class:
SCMHeadOrigin

public static class SCMHeadOrigin.Fork extends SCMHeadOrigin
A named fork. The name should be simple not an URL. Some examples of simple names:
  • bobsmith which could be a user's fork where the user is Bob Smith
  • bobsmith/foo which could be a user's fork where the user is Bob Smith and perhaps he forked into a repository with the name "foo"
  • manchu/bobsmith which could be a user in Team Manchu called Bob Smith who forked the repository

Please do not use things like https://github.com/stephenc/scm-api-plugin as the fork name no matter how tempting.

For one, this includes details that are originating from the backing source control system. If we migrated from GitHub to GitHub Enterprise, the fork would be migrated also. A good name will remain the same after such a migration... so presumably during such a migration the fork's actual location would change from https://github.com/stephenc/scm-api-plugin to https://github.example.com:8443/stephenc/scm-api-plugin so a good name would be either stephenc/scm-api-plugin or stephenc.

As GitHub encourages that forks have the same repository name the /scm-api-plugin is redundant, so we would choose stephenc as the fork name when the repository name matches upstream and use stephenc/fork-of-scm-api-plugin if the fork name differs from the upstream name.

See Also:
  • Constructor Details

    • Fork

      public Fork(@NonNull String name)
      Creates a fork origin instance.
      Parameters:
      name - the name.
  • Method Details