Exemple #1
0
        public BuildArtifacts GetArtifacts()
        {
            BuildsRootObject builds = this.GetBuilds();

            if (builds == null || builds.count == 0)
            {
                return(null);
            }

            BuildRootObject     build = this.GetBuild(builds.build[0]);
            ArtifcatsRootObject arts  = this.GetArtifact(build);

            for (int i = 0; i < arts.files.Count; i++)
            {
                if (arts.files[i].name.Equals(parameters.ArtifactName, StringComparison.InvariantCultureIgnoreCase))
                {
                    using (System.Net.WebClient cl = new System.Net.WebClient())
                    {
                        Uri uri = new Uri(new Uri(parameters.Host), arts.files[i].content.href);
                        cl.Headers.Add("Authorization", "Basic " +
                                       Convert.ToBase64String(Encoding.ASCII.GetBytes(string.Format("{0}:{1}", parameters.User, parameters.Password))));
                        byte[]         zip    = cl.DownloadData(uri);
                        BuildArtifacts result = BuildArtifacts.FromZipArchive(parameters.AssemblyFileName, build.revisions.revision[0].version, zip);

                        return(result);
                    }
                }
            }
            return(null);
        }
Exemple #2
0
        public SCMRevision GetVersion()
        {
            BuildsRootObject builds = this.GetBuilds();

            if (builds == null || builds.count == 0)
            {
                return(null);
            }

            BuildRootObject  build  = GetBuild(builds.build[0]);
            ChangeRootObject change = GetChange(build);

            if (change.count == 0)// no changes --> trail for build with changes
            {
                bool changesFound = false;
                for (int i = 1; i < builds.build.Count; i++)
                {
                    build  = GetBuild(builds.build[i]);
                    change = GetChange(build);
                    if (change.count > 0)
                    {
                        changesFound = true;
                        break;
                    }
                }
                if (!changesFound)
                {
                    return new SCMRevision
                           {
                               Revision = build.revisions.revision[0].version
                           }
                }
                ;
            }
            ChangesRootObject changes = GetChanges(change);

            DateTime    at  = DateTime.ParseExact(changes.date, "yyyyMMddTHHmmsszzzz", System.Globalization.CultureInfo.InvariantCulture);
            SCMRevision ver = new SCMRevision
            {
                Commiter      = changes.username,
                CommitMessage = changes.comment,
                CommitTime    = at,
                CreateAt      = at,
                Revision      = changes.version
            };

            return(ver);
        }
Exemple #3
0
        private BuildRootObject GetBuild(TeamCity.Build id)
        {
            try
            {
                using (ServiceStack.JsonServiceClient client = new ServiceStack.JsonServiceClient(parameters.Host))
                {
                    client.SetCredentials(parameters.User, parameters.Password);
                    client.AlwaysSendBasicAuthHeader = true;

                    BuildRootObject b = client.Get <BuildRootObject>(id.href);
                    return(b);
                }
            }
            catch (Exception e)
            {
                logger.Exception(e, "GetBuild", "");
                return(null);
            }
        }