public CreateBuildDefinitionRequest(string organization, string project, BuildDefinitionDto definition)
 {
     ApiVersion = "6.1-preview.7";
     Method     = HttpMethod.Post;
     RequestUri = new Uri($"https://dev.azure.com/{organization}/{project}/_apis/build/definitions?api-version={ApiVersion}");
     Content    = new StringContent(JsonSerializer.Serialize(definition));
 }
示例#2
0
        public static BuildDefinitionDtoCollection GetBuildDefinitions(this TfsConfigurationServer tfsConfigurationServer, Guid teamProjectCollectionId, string teamProjectName)
        {
            if (tfsConfigurationServer == null)
            {
                throw new ArgumentNullException("tfsConfigurationServer");
            }

            TfsTeamProjectCollection tfsTeamProjectCollection = tfsConfigurationServer.GetTeamProjectCollection(teamProjectCollectionId);
            IBuildServer             buildServer = tfsTeamProjectCollection.GetService <IBuildServer>();

            IBuildDefinition[]           buildDefinitions             = buildServer.QueryBuildDefinitions(teamProjectName);
            BuildDefinitionDtoCollection buildDefinitionDtoCollection = new BuildDefinitionDtoCollection();

            foreach (IBuildDefinition buildDefinition in buildDefinitions)
            {
                BuildDefinitionDto buildDefinitionDto = new BuildDefinitionDto();
                buildDefinitionDto.TeamProjectName = buildDefinition.TeamProject;
                buildDefinitionDto.Name            = buildDefinition.Name;
                buildDefinitionDto.Id  = buildDefinition.Id;
                buildDefinitionDto.Uri = buildDefinition.Uri;
                buildDefinitionDtoCollection.Add(buildDefinitionDto);
            }

            return(buildDefinitionDtoCollection);
        }
示例#3
0
        public void CanBeConstructed()
        {
            //Arrange
            BuildDefinitionDto sut;

            //Act
            sut = new BuildDefinitionDto();

            //Assert
            Assert.NotNull(sut);
        }
示例#4
0
        public async Task <BuildDto> QueueBuild(string projectIdentifier, BuildDefinitionDto definition, string organization = default, CancellationToken cancellationToken = default)
        {
            var request = new UpdateBuildDefinitionRequest(organization ?? _options.Value.DefaultOrganization, projectIdentifier, definition);

            request.Headers.Authorization = GetAuthZHeader();

            var response = await SendAsync(request, cancellationToken);

            var buildDto = await response.Content.ReadFromJsonAsync <BuildDto>(null, cancellationToken);

            return(buildDto);
        }
示例#5
0
        public void CanBeSerialized()
        {
            //Arrange
            var sut = new BuildDefinitionDto()
            {
                Id          = 1,
                Name        = "MyName",
                QueueStatus = "MyQueueStatus",
                Revision    = 1,
                Type        = "MyType",
                Uri         = new Uri("https://foo.bar/")
            };

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

            //Assert
            Assert.NotNull(JsonDocument.Parse(payload));
        }
示例#6
0
 public QueueBuildRequest(string organization, string project, BuildDefinitionDto definition) : this(organization, project, definition.Id)
 {
     Content = new StringContent(JsonSerializer.Serialize(definition));
 }