Skip to content

Commit

Permalink
Merge pull request #91 from tomaslin/docker-events-to-account
Browse files Browse the repository at this point in the history
docker trigger uses account instead of registry
  • Loading branch information
tomaslin committed Jun 15, 2016
2 parents d333f80 + 4e9e611 commit db61caf
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class DockerEvent extends TriggerEvent {
@Canonical
@JsonIgnoreProperties(ignoreUnknown = true)
static class Content {
String registry
String account
String repository
String tag
String digest
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
@JsonDeserialize(builder = Trigger.TriggerBuilder.class)
@Builder
@Wither
@ToString(of = {"type", "master", "job", "cronExpression", "source", "project", "slug", "registry", "repository", "tag", "constraints"}, includeFieldNames = false)
@ToString(of = {"type", "master", "job", "cronExpression", "source", "project", "slug", "account", "repository", "tag", "constraints"}, includeFieldNames = false)
@Value
public class Trigger {
public enum Type {
Expand Down Expand Up @@ -61,27 +61,27 @@ public String toString() {
String project;
String slug;
String hash;
String registry;
String account;
String repository;
String tag;
String digest;
Map constraints;


public Trigger atBuildNumber(final int buildNumber) {
return new Trigger(enabled, id, type, master, job, buildNumber, propertyFile, cronExpression, source, project, slug, null, registry, repository, null, digest, null);
return new Trigger(enabled, id, type, master, job, buildNumber, propertyFile, cronExpression, source, project, slug, null, account, repository, null, digest, null);
}

public Trigger atHash(final String hash) {
return new Trigger(enabled, id, type, master, job, null, propertyFile, cronExpression, source, project, slug, hash, registry, repository, null, digest, null);
return new Trigger(enabled, id, type, master, job, null, propertyFile, cronExpression, source, project, slug, hash, account, repository, null, digest, null);
}

public Trigger atTag(final String tag) {
return new Trigger(enabled, id, type, master, job, null, propertyFile, cronExpression, source, project, slug, null, registry, repository, tag, digest, null);
return new Trigger(enabled, id, type, master, job, null, propertyFile, cronExpression, source, project, slug, null, account, repository, tag, digest, null);
}

public Trigger atConstraints(final Map constraints) {
return new Trigger(enabled, id, type, master, job, null, propertyFile, cronExpression, source, project, slug, null, registry, repository, tag, null, constraints);
return new Trigger(enabled, id, type, master, job, null, propertyFile, cronExpression, source, project, slug, null, account, repository, tag, null, constraints);
}

@JsonPOJOBuilder(withPrefix = "")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ protected boolean isValidTrigger(final Trigger trigger) {
return trigger.isEnabled() &&
(
(TRIGGER_TYPE.equals(trigger.getType()) &&
trigger.getRegistry() != null &&
trigger.getAccount() != null &&
trigger.getRepository() != null)
);
}
Expand All @@ -101,12 +101,12 @@ private boolean matchTags(String suppliedTag, String incomingTag) {
@Override
protected Predicate<Trigger> matchTriggerFor(final TriggerEvent event) {
DockerEvent dockerEvent = (DockerEvent) event;
String registry = dockerEvent.getContent().getRegistry();
String account = dockerEvent.getContent().getAccount();
String repository = dockerEvent.getContent().getRepository();
String tag = dockerEvent.getContent().getTag();
return trigger -> trigger.getType().equals(TRIGGER_TYPE) &&
trigger.getRepository().equals(repository) &&
trigger.getRegistry().equals(registry) &&
trigger.getAccount().equals(account) &&
((trigger.getTag() == null && !tag.equals("latest"))
|| trigger.getTag() != null && matchTags(trigger.getTag(), tag));
}
Expand All @@ -116,7 +116,7 @@ protected void onMatchingPipeline(Pipeline pipeline) {
val id = registry.createId("pipelines.triggered")
.withTag("application", pipeline.getApplication())
.withTag("name", pipeline.getName());
id.withTag("imageId", pipeline.getTrigger().getRegistry() + "/" +
id.withTag("imageId", pipeline.getTrigger().getAccount() + "/" +
pipeline.getTrigger().getRepository() + ":" +
pipeline.getTrigger().getTag());
registry.counter(id).increment();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ class DockerEventMonitorSpec extends Specification implements RetrofitStubs {
then:
1 * subscriber.call({
it.trigger.type == enabledDockerTrigger.type
it.trigger.registry == enabledDockerTrigger.registry
it.trigger.account == enabledDockerTrigger.account
it.trigger.repository == enabledDockerTrigger.repository
it.trigger.tag == enabledDockerTrigger.tag
})
Expand Down Expand Up @@ -137,7 +137,7 @@ class DockerEventMonitorSpec extends Specification implements RetrofitStubs {
where:
trigger | description
disabledDockerTrigger | "disabled docker trigger"
enabledDockerTrigger.withRegistry("notRegistry") | "different registry"
enabledDockerTrigger.withAccount("notRegistry") | "different registry"
enabledDockerTrigger.withRepository("notRepository") | "different repository"

pipeline = createPipelineWith(trigger)
Expand All @@ -158,8 +158,8 @@ class DockerEventMonitorSpec extends Specification implements RetrofitStubs {

where:
trigger | field
enabledDockerTrigger.withRegistry(null) | "registry"
enabledDockerTrigger.withRepository(null) | "repository"
enabledDockerTrigger.withAccount(null) | "account"
enabledDockerTrigger.withRepository(null) | "repository"
enabledDockerTrigger.withTag(null) | "tag"

event = createDockerEvent()
Expand Down

0 comments on commit db61caf

Please sign in to comment.