public IEnumerable <Metadata> Transform(Metadata metadata) { if (metadata.Kref != null && metadata.Kref.Source == "jenkins") { var json = metadata.Json(); Log.InfoFormat("Executing Jenkins transformation with {0}", metadata.Kref); Log.DebugFormat("Input metadata:{0}{1}", Environment.NewLine, json); JenkinsOptions options = json["x_netkan_jenkins"]?.ToObject <JenkinsOptions>() ?? new JenkinsOptions(); JenkinsRef jRef = new JenkinsRef(metadata.Kref); var versions = _api.GetAllBuilds(jRef, options); if (_releases.HasValue) { versions = versions.Take(_releases.Value); } foreach (JenkinsBuild build in versions) { yield return(TransformOne(metadata, metadata.Json(), build, options)); } } else { yield return(metadata); } }
public IEnumerable <Metadata> Transform(Metadata metadata, TransformOptions opts) { if (metadata.Kref != null && metadata.Kref.Source == "jenkins") { var json = metadata.Json(); Log.InfoFormat("Executing Jenkins transformation with {0}", metadata.Kref); Log.DebugFormat("Input metadata:{0}{1}", Environment.NewLine, json); JenkinsOptions options = json["x_netkan_jenkins"]?.ToObject <JenkinsOptions>() ?? new JenkinsOptions(); JenkinsRef jRef = new JenkinsRef(metadata.Kref); var versions = _api.GetAllBuilds(jRef, options); if (opts.SkipReleases.HasValue) { versions = versions.Skip(opts.SkipReleases.Value); } if (opts.Releases.HasValue) { versions = versions.Take(opts.Releases.Value); } bool returnedAny = false; foreach (JenkinsBuild build in versions) { returnedAny = true; yield return(TransformOne(metadata, metadata.Json(), build, options)); } if (!returnedAny) { Log.WarnFormat("No releases found for {0}", jRef.BaseUri); yield return(metadata); } } else { yield return(metadata); } }