コード例 #1
0
        public Repo Create(string user, string password, RepoCreate createRepo)
        {
            var client = new HttpClient();
            var uri = String.Format("https://api.github.com/user/repos");
            var request = new HttpRequestMessage<RepoCreate>(createRepo,
                                                                           new HttpMethod("Post"),
                                                                           new Uri(uri),
                                                                           new List<MediaTypeFormatter> { new JsonMediaTypeFormatter() });

            request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            client.DefaultRequestHeaders.Authorization = CreateBasicAuthentication(user, password);
            var response = client.SendAsync(request).Result;
            var result = response.Content.ReadAsAsync<Repo>().Result;

            return result;
        }
コード例 #2
0
        public static void Main()
        {
            // Settings needed to connect and use the Batching Service.
            string user = ConfigurationManager.AppSettings["User"];
            string password = ConfigurationManager.AppSettings["Password"];
            string batchingServiceEndpointAddress = ConfigurationManager.AppSettings["BatchingServiceEndpointAddress"];

            // Creation of a channel connected to the Batching Service.
            var endpoint = new EndpointAddress(batchingServiceEndpointAddress);
            var binding = new BasicHttpBinding();
            ChannelFactory<IGitHubSoapBatchingService> channelFactory = new ChannelFactory<IGitHubSoapBatchingService>(binding, endpoint);
            var serviceChannel = channelFactory.CreateChannel();

            // Build a Request to create a new repository.
            var newRepo = new RepoCreate
                              {
                                  name = "Another-Test-Repository",
                                  description = "Just another test repository",
                                  has_downloads = true,
                                  has_issues = true,
                                  has_wiki = false,
                                  @private = false
                              };

            var createRepoRequest = new CreateRepoRequest {User = user, Password = password, CreateRepo = newRepo};

            // Build a Request to get the created repository.
            var getRepoRequest = new GetRepoRequest {User = user, Repo = newRepo.name};

            // Build a request to edit the created repository.
            var editRepo = new RepoEdit {has_wiki = true, name = newRepo.name};

            var editRepoRequest = new EditRepoRequest {User = user, Password = password, Repo = newRepo.name, EditRepo = editRepo};

            // Call the Batching Service.
            var results = serviceChannel.Process(createRepoRequest, getRepoRequest, editRepoRequest);

            // Get the indexed responses.
            var createRepoResponse = (RepoResponse) results[0];
            var getRepoResponse = (RepoResponse) results[1];
            var editRepoResponse = (RepoResponse) results[2];
        }
コード例 #3
0
        public static void Main()
        {
            // Settings needed to connect and use the Regular Service.
            string user = ConfigurationManager.AppSettings["User"];
            string password = ConfigurationManager.AppSettings["Password"];
            string serviceEndpointAddress = ConfigurationManager.AppSettings["ServiceEndpointAddress"];

            // Creation of a channel connected to the Regular Service.
            var endpoint = new EndpointAddress(serviceEndpointAddress);
            var binding = new BasicHttpBinding();
            ChannelFactory<IGitHubSoapService> channelFactory = new ChannelFactory<IGitHubSoapService>(binding, endpoint);
            channelFactory.Endpoint.Behaviors.Add(new AuthenticationHeaderBehavior());
            var serviceChannel = channelFactory.CreateChannel();

            // Create a new repository.
            var newRepo = new RepoCreate
                              {
                                  name = "Test-Repository",
                                  description = "Just a test repository",
                                  has_downloads = true,
                                  has_issues = true,
                                  has_wiki = false,
                                  @private = false
                              };

            var createdRepo = serviceChannel.CreateRepo(user, password, newRepo);

            // Get the created repository.
            var repo = serviceChannel.GetRepo(user, "Test-Repository");

            // Edit the repository.
            var editRepo = new RepoEdit { has_downloads = false, name = "Test-Repository" };
            serviceChannel.EditRepo(user, password, "Test-Repository", editRepo);

            // Create an issue in the created repository.
            var newIssue = new IssueCreate {title = "Found a bug", body = "I'm having a problem with this.", assignee = "luismdcp"};
            var createdIssue = serviceChannel.CreateIssue(user, password, "Test-Repository", newIssue);

            // Edit the created issue.
            var editIssue = new IssueEdit {milestone = 1};
            serviceChannel.EditIssue(user, password, "Test-Repository", createdIssue.id, editIssue);
        }
コード例 #4
0
 public Repo CreateRepo(string user, string password, RepoCreate createRepo)
 {
     IReposService reposService = ObjectFactory.GetInstance<IReposService>();
     return reposService.Create(user, password, createRepo);
 }
コード例 #5
0
 public Repo Create(string user, string password, RepoCreate createRepo)
 {
     return this.reposRepository.Create(user, password, createRepo);
 }