public class GitHubBambooSpecsHandler extends AbstractGitHubExecutor implements BambooSpecsHandler
vcsRepositoryManagerBAMBOO_SPECS_DIRECTORY, BAMBOO_YAML_FILES| Constructor and Description |
|---|
GitHubBambooSpecsHandler(VcsRepositoryManager vcsRepositoryManager) |
| Modifier and Type | Method and Description |
|---|---|
Optional<String> |
detectSpecRevision(VcsRepositoryData repositoryData,
Object source)
Attempts to obtain latest revision from the repository which may have changed Bamboo Specs.
|
List<CommitContext> |
findCommitsToSpecs(VcsRepositoryData repositoryData,
String rev1,
String rev2)
Extracts a list of commits related to Bamboo Specs, which occurred between revisions
rev1 and
rev2. |
boolean |
isNewer(VcsRepositoryData repositoryData,
String rev1,
String rev2)
Returns true if
rev2 is a newer revision in the repository than rev1 and therefore the specs should be run. |
boolean |
isWebhookRequired() |
getGitModuleDescriptor, githubToGitDataclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsupportsDivergentBranches@Inject public GitHubBambooSpecsHandler(VcsRepositoryManager vcsRepositoryManager)
@NotNull public Optional<String> detectSpecRevision(@NotNull VcsRepositoryData repositoryData, @NotNull Object source) throws RepositoryException
BambooSpecsHandlerdetectSpecRevision in interface BambooSpecsHandlerrepositoryData - repositorysource - entry point to begin scanning (for example: branch name), actual type may depend on
repository typeBambooSpecsHandler.BAMBOO_SPECS_DIRECTORY doesn't exist.RepositoryExceptionpublic boolean isNewer(@NotNull
VcsRepositoryData repositoryData,
@NotNull
String rev1,
@NotNull
String rev2)
throws RepositoryException
BambooSpecsHandlerrev2 is a newer revision in the repository than rev1 and therefore the specs should be run. In typical cases, returns
true if it is possible to reach rev1 by following parent relationship starting from rev2.
Exceptional cases involve suspected force push or 'clear' merges that don't result in changes in specs being connected to the merge commit. In those cases
it assumed that rev2 is newer even though no ancestry path exists between rev1 and rev2.isNewer in interface BambooSpecsHandlerRepositoryException@NotNull public List<CommitContext> findCommitsToSpecs(@NotNull VcsRepositoryData repositoryData, @NotNull String rev1, @NotNull String rev2) throws RepositoryException
BambooSpecsHandlerrev1 and
rev2.findCommitsToSpecs in interface BambooSpecsHandlerRepositoryExceptionpublic boolean isWebhookRequired()
isWebhookRequired in interface BambooSpecsHandlerCopyright © 2021 Atlassian Software Systems Pty Ltd. All rights reserved.