/// <summary>
 /// Creates a new release.
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Execution or Execution.Write.
 ///
 /// Required permissions: Processes.Create.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='releaseDto'>
 /// The entity to post
 /// </param>
 /// <param name='xUIPATHOrganizationUnitId'>
 /// Folder/OrganizationUnit Id
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <ReleaseDto> PostAsync(this IReleases operations, ReleaseDto releaseDto, long?xUIPATHOrganizationUnitId = default(long?), System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
 {
     using (var _result = await operations.PostWithHttpMessagesAsync(releaseDto, xUIPATHOrganizationUnitId, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
        public void CanConvertReleaseCreatedEventToReleaseDto()
        {
            //Arrange
            var mockAdoClient = new Mock <IAdoClient>();
            var fakeRelease   = new ReleaseDto()
            {
                Id = 1, Project = new ProjectDto()
                {
                    Id = new System.Guid("3ededfb7-5b60-49d9-9c47-80bbf8f2dcb1")
                }
            };
            var fakeReleaseEvent = new ReleaseCompletedEvent()
            {
                EventType = ReleaseCompletedEvent.EventIdentifier,
                Resource  = JsonDocument.Parse("{\"release\": {\"id\": 1}, \"project\": {\"id\": \"3ededfb7-5b60-49d9-9c47-80bbf8f2dcb1\"}}").RootElement
            };

            mockAdoClient.Setup(m => m.GetRelease(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <string>(), It.IsAny <CancellationToken>())).Returns(Task.FromResult(fakeRelease));

            ITypeConverter <AdoEvent, AdoDto> sut = new AdoEventToAdoDtoConverter(mockAdoClient.Object);

            //Act
            var result = sut.Convert(fakeReleaseEvent, null, null) as ReleaseDto;

            //Assert
            Assert.NotNull(sut);
            Assert.NotNull(result);
            Assert.Equal(result.Id, fakeReleaseEvent.Resource?.GetProperty("release").GetProperty("id").GetInt32());
            Assert.Equal(result.Project.Id, fakeReleaseEvent.Resource?.GetProperty("project").GetProperty("id").GetGuid());

            Mock.VerifyAll(mockAdoClient);
        }
        public static JobDto[] Run_a_Job(ReleaseDto release)
        {
            JobDto[] jobs = null;
            try
            {
                string token           = Get_Token();
                string processName     = release.ProcessKey;
                string environmentName = release.EnvironmentName;

                var robots      = OrchestratorAPIHelper.GetListOfRobots(token);
                var matchRobots = OrchestratorAPIHelper.GetRobots(robots, environmentName);

                List <int> robotIds = new List <int>();
                foreach (var robot in matchRobots)
                {
                    robotIds.Add(robot.Id);
                }

                jobs = OrchestratorAPIHelper.ExecuteRobot(token, release.Key, robotIds.ToArray());
            }
            catch (Exception e)
            {
                throw e;
            }

            return(jobs);
        }
Example #4
0
 /// <summary>
 /// 检查Dto是否合法
 /// </summary>
 /// <param name="releaseDto"></param>
 internal void CheckreleaseDto(ReleaseDto releaseDto)
 {
     if (releaseDto.Convention > releaseDto.FailureTime)
     {
         throw ExceptionHelper.InvalidDataException($"失效时间不能小于约定时间");
     }
 }
 public IAggregateRoot Convert(AdoDto source, IAggregateRoot destination, ResolutionContext context)
 {
     return(source switch
     {
         BuildDto build => _mapper.Map <IAggregateRoot>(build),
         ProjectDto project => _mapper.Map <IAggregateRoot>(project),
         ReleaseDto release => _mapper.Map <IAggregateRoot>(release),
         _ => null,
     });
Example #6
0
        /// <summary>
        /// 创建约会记录
        /// </summary>
        /// <param name="releaseDto"></param>
        internal bool AddRelease(ReleaseDto releaseDto)
        {
            var release = _boProvider._mapper.Map <ReleaseInformation>(releaseDto);
            //添加约会记录
            var result = _boProvider._peopleRepo.addRelease(release);

            return(result);
            //配对有缘人
        }
Example #7
0
        public void CanBeConstructed()
        {
            //Arrange
            ReleaseDto sut;

            //Act
            sut = new ReleaseDto();

            //Assert
            Assert.NotNull(sut);
        }
Example #8
0
        public IActionResult AddRelease(ReleaseDto releaseDto)
        {
            //创建PeopleBo
            PeopleBo peopleBo = _boProvider.GetPeopleBo(releaseDto.PeopleId);

            peopleBo.CheckreleaseDto(releaseDto);
            var adminUserBo = _boProvider.GetAdminUserBo();
            var results     = adminUserBo.checkEmail(releaseDto.Email);

            //添加约会记录
            peopleBo.AddRelease(releaseDto);
            return(Ok(results));
        }
        public Process(ReleaseDto release)
        {
            if (release == null)
            {
                throw new ArgumentNullException(nameof(release));
            }

            this.ProcessID          = release.Id;
            this.ProcessName        = release.Name;
            this.ProcessKey         = release.ProcessKey;
            this.ProcessDescription = release.Description;
            this.ProcessEnvironment = release.EnvironmentName;
        }
Example #10
0
        public async Task StartProcess(ReleaseDto processToStart)
        {
            var jobResult = await _jobsApi.JobsStartJobsAsync(new StartJobParameters()
            {
                StartInfo = new StartProcessDto(processToStart.Key, StartProcessDto.StrategyEnum.JobsCount)
                {
                    Source = StartProcessDto.SourceEnum.Manual,

                    JobsCount = 1
                }
            });

            Debug.WriteLine(jobResult);
        }
        protected override void ProcessRecord()
        {
            var release = new ReleaseDto
            {
                Name           = Name,
                EnvironmentId  = Environment?.Id ?? EnvironmentId,
                Description    = Description,
                ProcessKey     = Package?.Id ?? PackageId,
                ProcessVersion = Package?.Version ?? PackageVersion
            };
            var dto = HandleHttpOperationException(() => Api.Releases.Post(release));

            WriteObject(Process.FromDto(dto));
        }
 internal static Process FromDto(ReleaseDto dto)
 {
     return(new Process
     {
         Id = dto.Id.Value,
         IsLatestVersion = dto.IsLatestVersion,
         IsProcessDeleted = dto.IsProcessDeleted,
         Name = dto.Name,
         Description = dto.Description,
         EnvironmentId = dto.EnvironmentId,
         Key = dto.Key,
         ProcessId = dto.ProcessKey,
         ProcessVersion = dto.ProcessVersion,
     });
 }
Example #13
0
        public void CanBeSerialized()
        {
            //Arrange
            var sut = new ReleaseDto()
            {
                Id   = 1,
                Name = "MyName"
            };

            //Act
            var payload = JsonSerializer.Serialize(sut, new JsonSerializerOptions {
                IgnoreNullValues = true
            });

            //Assert
            Assert.NotNull(JsonDocument.Parse(payload));
        }
        public async Task <object> GetAllArtistReleases(string ArtistId)
        {
            try
            {
                var result     = new ReleaseDto();
                var uri        = string.Format("http://musicbrainz.org/ws/2/release/?query=arid:{0}", ArtistId);
                var httpClient = new HttpClient();
                httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Accept", "text/html,application/xhtml+xml,application/xml");
                httpClient.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0");
                httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Accept-Charset", "ISO-8859-1");
                var content = await httpClient.GetStringAsync(uri);


                var buffer = Encoding.UTF8.GetBytes(content);
                using (var stream = new MemoryStream(buffer))
                {
                    var doc     = XDocument.Load(stream, LoadOptions.SetLineInfo);
                    var results = doc.Descendants().Where(x => x.Name.LocalName == "release");
                    var r       = from t in results
                                  select new
                    {
                        title          = (string)t.Descendants().FirstOrDefault(x => x.Name.LocalName == "title"),
                        status         = (string)t.Descendants().FirstOrDefault(x => x.Name.LocalName == "status"),
                        releaseId      = t.Attribute("id").Value,
                        numberOfTracks = Convert.ToInt32(t.Descendants().First(x => x.Name.LocalName == "medium-list").Attribute("count").Value) > 0 ?
                                         (string)t.Descendants().First(x => x.Name.LocalName == "medium-list").Descendants().FirstOrDefault(x => x.Name.LocalName == "track-count") : "",
                        label = t.Descendants().FirstOrDefault(x => x.Name.LocalName == "label-info-list") != null ? (string)t.Descendants().First(x => x.Name.LocalName == "label-info-list").Descendants()
                                .First(x => x.Name.LocalName == "label-info").Descendants()
                                .FirstOrDefault(x => x.Name.LocalName == "label").Descendants().FirstOrDefault(x => x.Name.LocalName == "name") : "",
                        otherArtists = t.Descendants().Where(x => x.Name.LocalName == "artist-credit").Select(d => new
                        {
                            name = (string)d.Descendants().First(x => x.Name.LocalName == "name-credit").Descendants().First(x => x.Name.LocalName == "artist").Descendants().FirstOrDefault(x => x.Name.LocalName == "name"),
                            id   = d.Descendants().First(x => x.Name.LocalName == "name-credit").Descendants().First(x => x.Name.LocalName == "artist").Attribute("id").Value
                        }).ToList()
                    };
                    return(r);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #15
0
        public ProcessViewModel(RobotInfo robotInfo, ReleaseDto release)
        {
            if (robotInfo == null)
            {
                throw new ArgumentNullException(nameof(robotInfo));
            }
            if (release == null)
            {
                throw new ArgumentNullException(nameof(release));
            }

            Robots = new ObservableCollection <RobotViewModel>(_robots);

            this.RobotInfo                = robotInfo;
            this.CustomProcessName        = robotInfo.ProcessName ?? release.ProcessKey;
            this.CustomProcessDescription = robotInfo.ProcessDescription ?? release.Description;

            this.Release            = release;
            this.ProcessID          = release.Id;
            this.ProcessName        = release.Name;
            this.ProcessKey         = release.ProcessKey;
            this.ProcessDescription = release.Description;
            this.ProcessEnvironment = release.EnvironmentName;
        }
 /// <summary>
 /// Partially updates a release.
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Execution or Execution.Write.
 ///
 /// Required permissions: Processes.Edit.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// key: Id
 /// </param>
 /// <param name='releaseDto'>
 /// The entity to patch
 /// </param>
 /// <param name='xUIPATHOrganizationUnitId'>
 /// Folder/OrganizationUnit Id
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task PatchByIdAsync(this IReleases operations, long id, ReleaseDto releaseDto, long?xUIPATHOrganizationUnitId = default(long?), System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
 {
     (await operations.PatchByIdWithHttpMessagesAsync(id, releaseDto, xUIPATHOrganizationUnitId, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
        private static int CreateRelease(CreateReleaseOptions options)
        {
            var logger = new Logger(options.Verbose);

            string username    = options.Username;
            string password    = options.Password;
            string repoOwner   = options.Owner;
            string repoName    = options.RepoName;
            string tagName     = options.TagName;
            string releaseName = options.ReleaseName;

            logger.Log("Creating GitHub release: " + options.ReleaseName + " for repo: " + options.RepoName + " and tag: " + options.TagName);

            string description = options.Description;

            if (!string.IsNullOrWhiteSpace(options.DescriptionFile))
            {
                logger.LogVerbose("Reading release description from file: " + options.DescriptionFile);
                description = System.IO.File.ReadAllText(options.DescriptionFile);
                description = HttpUtility.JavaScriptStringEncode(description);
            }

            bool draft      = options.Draft;
            bool prerelease = options.PreRelease;

            logger.LogVerbose("Creating GitHub API Message..");
            var client = new RestClient("https://api.github.com");

            var    request  = new RestRequest(Method.POST);
            string resource = string.Format("/repos/{0}/{1}/releases", repoOwner, repoName);

            request.Resource      = resource;
            request.RequestFormat = DataFormat.Json;

            string releaseJson = string.Format(@"""tag_name"": ""{0}"", ""target_commitish"": ""master"", ""name"": ""{1}"", ""body"": ""{2}"", ""draft"": {3}, ""prerelease"": {4}", tagName, releaseName, description, draft.ToString().ToLowerInvariant(), prerelease.ToString().ToLowerInvariant());

            releaseJson = "{" + releaseJson + "}";

            logger.LogVerbose("JSON payload to follow:");
            logger.LogVerbose(releaseJson);

            request.AddHeader("Accept", "application/vnd.github.v3+json");
            request.Credentials = new System.Net.NetworkCredential(username, password);

            var authHeader = string.Format(CultureInfo.InvariantCulture, "Basic {0}", Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Format(CultureInfo.InvariantCulture, "{0}:{1}", username, password))));

            request.AddHeader("Authorization", authHeader);

            request.AddParameter("application/json; charset=utf-8", releaseJson, ParameterType.RequestBody);

            logger.LogVerbose("Sending Request..");
            var response = client.Execute(request);

            logger.LogVerbose(response.Content);
            if (response.StatusCode != System.Net.HttpStatusCode.Created)
            {
                logger.LogError("Error occurred creating release.");
                logger.LogVerbose("Response content follows:");
                logger.LogVerbose(response.Content);

                throw new Exception("Error occurred creating release.");
            }

            ReleaseDto release   = JsonConvert.DeserializeObject <ReleaseDto>(response.Content);
            int        releaseId = release.id;

            logger.Log("Successfully created release (id: " + releaseId + ")");

            // If we have asset files t upload then get the release id;
            if (options.ReleaseAssetFiles != null && options.ReleaseAssetFiles.Any())
            {
                foreach (var assetFile in options.ReleaseAssetFiles)
                {
                    UploadReleaseAsset(logger, client, options, releaseId, assetFile);
                }
            }

            return(0);
        }
 /// <summary>
 /// Edits a release.
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Execution or Execution.Write.
 ///
 /// Required permissions: Processes.Edit.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// key: Id
 /// </param>
 /// <param name='releaseDto'>
 /// The entity to put
 /// </param>
 /// <param name='xUIPATHOrganizationUnitId'>
 /// Folder/OrganizationUnit Id
 /// </param>
 public static ReleaseDto PutById(this IReleases operations, long id, ReleaseDto releaseDto, long?xUIPATHOrganizationUnitId = default(long?))
 {
     return(operations.PutByIdAsync(id, releaseDto, xUIPATHOrganizationUnitId).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Partially updates a release.
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Execution or Execution.Write.
 ///
 /// Required permissions: Processes.Edit.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// key: Id
 /// </param>
 /// <param name='releaseDto'>
 /// The entity to patch
 /// </param>
 /// <param name='xUIPATHOrganizationUnitId'>
 /// Folder/OrganizationUnit Id
 /// </param>
 public static void PatchById(this IReleases operations, long id, ReleaseDto releaseDto, long?xUIPATHOrganizationUnitId = default(long?))
 {
     operations.PatchByIdAsync(id, releaseDto, xUIPATHOrganizationUnitId).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Partially updates a release.
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Execution or Execution.Write.
 ///
 /// Required permissions: Processes.Edit.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='key'>
 /// </param>
 /// <param name='body'>
 /// </param>
 /// <param name='xUIPATHOrganizationUnitId'>
 /// Folder/OrganizationUnit Id
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task PatchByIdAsync(this IReleases operations, long key, ReleaseDto body = default(ReleaseDto), long?xUIPATHOrganizationUnitId = default(long?), CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.PatchByIdWithHttpMessagesAsync(key, body, xUIPATHOrganizationUnitId, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Partially updates a release.
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Execution or Execution.Write.
 ///
 /// Required permissions: Processes.Edit.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='key'>
 /// </param>
 /// <param name='body'>
 /// </param>
 /// <param name='xUIPATHOrganizationUnitId'>
 /// Folder/OrganizationUnit Id
 /// </param>
 public static void PatchById(this IReleases operations, long key, ReleaseDto body = default(ReleaseDto), long?xUIPATHOrganizationUnitId = default(long?))
 {
     operations.PatchByIdAsync(key, body, xUIPATHOrganizationUnitId).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Partially updates a release.
 /// </summary>
 /// <remarks>
 /// Required permissions: Processes.Edit.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// key: Id
 /// </param>
 /// <param name='releaseDto'>
 /// The entity to patch
 /// </param>
 public static void PatchById(this IReleases operations, long id, ReleaseDto releaseDto)
 {
     operations.PatchByIdAsync(id, releaseDto).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Edits a release.
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Execution or Execution.Write.
 ///
 /// Required permissions: Processes.Edit.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='key'>
 /// </param>
 /// <param name='body'>
 /// </param>
 /// <param name='xUIPATHOrganizationUnitId'>
 /// Folder/OrganizationUnit Id
 /// </param>
 public static ReleaseDto PutById(this IReleases operations, long key, ReleaseDto body = default(ReleaseDto), long?xUIPATHOrganizationUnitId = default(long?))
 {
     return(operations.PutByIdAsync(key, body, xUIPATHOrganizationUnitId).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Edits a release.
 /// </summary>
 /// <remarks>
 /// Required permissions: Processes.Edit.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// key: Id
 /// </param>
 /// <param name='releaseDto'>
 /// The entity to put
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <ReleaseDto> PutByIdAsync(this IReleases operations, long id, ReleaseDto releaseDto, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken))
 {
     using (var _result = await operations.PutByIdWithHttpMessagesAsync(id, releaseDto, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Edits a release.
 /// </summary>
 /// <remarks>
 /// Required permissions: Processes.Edit.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// key: Id
 /// </param>
 /// <param name='releaseDto'>
 /// The entity to put
 /// </param>
 public static ReleaseDto PutById(this IReleases operations, long id, ReleaseDto releaseDto)
 {
     return(operations.PutByIdAsync(id, releaseDto).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Creates a new release.
 /// </summary>
 /// <remarks>
 /// Required permissions: Processes.Create.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='releaseDto'>
 /// The entity to post
 /// </param>
 public static ReleaseDto Post(this IReleases operations, ReleaseDto releaseDto)
 {
     return(operations.PostAsync(releaseDto).GetAwaiter().GetResult());
 }
Example #27
0
 public UpdateReleaseRequest(string organization, string project, ReleaseDto release) : this(organization, project, release.Id)
 {
     Content = new StringContent(JsonSerializer.Serialize(release));
 }
 /// <summary>
 /// Edits a release.
 /// </summary>
 /// <remarks>
 /// Client Credentials Flow required permissions: Execution or Execution.Write.
 ///
 /// Required permissions: Processes.Edit.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='key'>
 /// </param>
 /// <param name='body'>
 /// </param>
 /// <param name='xUIPATHOrganizationUnitId'>
 /// Folder/OrganizationUnit Id
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <ReleaseDto> PutByIdAsync(this IReleases operations, long key, ReleaseDto body = default(ReleaseDto), long?xUIPATHOrganizationUnitId = default(long?), CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PutByIdWithHttpMessagesAsync(key, body, xUIPATHOrganizationUnitId, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }