use of hudson.plugins.git.BranchSpec in project workflow-cps-plugin by jenkinsci.
the class CpsScmFlowDefinitionTest method usingParameter.
@Issue("JENKINS-28447")
@Test
public void usingParameter() throws Exception {
sampleRepo.init();
sampleRepo.write("flow.groovy", "echo 'version one'");
sampleRepo.git("add", "flow.groovy");
sampleRepo.git("commit", "--message=one");
sampleRepo.git("tag", "one");
sampleRepo.write("flow.groovy", "echo 'version two'");
sampleRepo.git("commit", "--all", "--message=two");
WorkflowJob p = r.jenkins.createProject(WorkflowJob.class, "p");
CpsScmFlowDefinition def = new CpsScmFlowDefinition(new GitSCM(Collections.singletonList(new UserRemoteConfig(sampleRepo.fileUrl(), null, null, null)), Collections.singletonList(new BranchSpec("${VERSION}")), false, Collections.<SubmoduleConfig>emptyList(), null, null, Collections.<GitSCMExtension>emptyList()), "flow.groovy");
// TODO SCMFileSystem.of cannot pick up build parameters
def.setLightweight(false);
p.setDefinition(def);
p.addProperty(new ParametersDefinitionProperty(new StringParameterDefinition("VERSION", "master")));
r.assertLogContains("version two", r.assertBuildStatusSuccess(p.scheduleBuild2(0)));
r.assertLogContains("version one", r.assertBuildStatusSuccess(p.scheduleBuild2(0, new ParametersAction(new StringParameterValue("VERSION", "one")))));
}
use of hudson.plugins.git.BranchSpec in project gitea-plugin by jenkinsci.
the class GiteaCreateSCMEvent method isMatch.
/**
* {@inheritDoc}
*/
@Override
public boolean isMatch(@NonNull SCM scm) {
URIish uri;
try {
uri = new URIish(getPayload().getRepository().getHtmlUrl());
} catch (URISyntaxException e) {
return false;
}
String ref = getPayload().getRef();
ref = ref.startsWith(Constants.R_HEADS) ? ref.substring(Constants.R_HEADS.length()) : ref;
if (scm instanceof GitSCM) {
GitSCM git = (GitSCM) scm;
if (git.getExtensions().get(IgnoreNotifyCommit.class) != null) {
return false;
}
for (RemoteConfig repository : git.getRepositories()) {
for (URIish remoteURL : repository.getURIs()) {
if (GitStatus.looselyMatches(uri, remoteURL)) {
for (BranchSpec branchSpec : git.getBranches()) {
if (branchSpec.getName().contains("$")) {
// If the branchspec is parametrized, always run the polling
return true;
} else {
if (branchSpec.matches(repository.getName() + "/" + ref)) {
return true;
}
}
}
}
}
}
}
return false;
}
use of hudson.plugins.git.BranchSpec in project gitea-plugin by jenkinsci.
the class GiteaPushSCMEvent method isMatch.
/**
* {@inheritDoc}
*/
@Override
public boolean isMatch(@NonNull SCM scm) {
URIish uri;
try {
uri = new URIish(getPayload().getRepository().getHtmlUrl());
} catch (URISyntaxException e) {
return false;
}
String ref = getPayload().getRef();
ref = ref.startsWith(Constants.R_HEADS) ? ref.substring(Constants.R_HEADS.length()) : ref;
if (scm instanceof GitSCM) {
GitSCM git = (GitSCM) scm;
if (git.getExtensions().get(IgnoreNotifyCommit.class) != null) {
return false;
}
for (RemoteConfig repository : git.getRepositories()) {
for (URIish remoteURL : repository.getURIs()) {
if (GitStatus.looselyMatches(uri, remoteURL)) {
for (BranchSpec branchSpec : git.getBranches()) {
if (branchSpec.getName().contains("$")) {
// If the branchspec is parametrized, always run the polling
return true;
} else {
if (branchSpec.matches(repository.getName() + "/" + ref)) {
return true;
}
}
}
}
}
}
}
return false;
}
use of hudson.plugins.git.BranchSpec in project gitlab-branch-source-plugin by Argelbargel.
the class GitLabSCMMergeRequestHead method getBranchSpecs.
@Nonnull
@Override
List<BranchSpec> getBranchSpecs() {
if (!merge) {
return super.getBranchSpecs();
}
List<BranchSpec> branches = new ArrayList<>(2);
branches.addAll(super.getBranchSpecs());
branches.add(new BranchSpec(targetBranch.getRef()));
return branches;
}
use of hudson.plugins.git.BranchSpec in project memory-map-plugin by Praqma.
the class TestUtils method configureGit.
public static FreeStyleProject configureGit(FreeStyleProject project, String branchName, String repository) throws IOException {
List<UserRemoteConfig> repos = Collections.singletonList(new UserRemoteConfig(repository, null, null, null));
GitSCM gitSCM = new GitSCM(repos, Collections.singletonList(new BranchSpec(branchName)), false, Collections.<SubmoduleConfig>emptyList(), null, null, Collections.EMPTY_LIST);
project.setScm(gitSCM);
return project;
}
Aggregations