Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Um Octokit.NET in Ihren Projekten verwenden zu können, müssen Sie zunächst das Paket installieren. Sie können es über NuGet hinzufügen, was die einfachste Methode ist. In Visual Studio können Sie den NuGet Package Manager verwenden. Suchen Sie nach Octokit
und installieren Sie es in Ihrem Projekt.
Hier ist ein einfaches Beispiel für die Verwendung von Octokit.NET zum Abrufen von Informationen über einen GitHub-Benutzer. In diesem Beispiel wird davon ausgegangen, dass Sie Ihr Projekt bereits mit Octokit.NET eingerichtet haben.
using Octokit;
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// Create a new instance of the GitHubClient class
var client = new GitHubClient(new ProductHeaderValue("YourAppName"));
// Retrieve user information
var user = await client.User.Get("octocat");
// Output the user's name
Console.WriteLine("User Name: " + user.Name);
}
}
using Octokit;
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
// Create a new instance of the GitHubClient class
var client = new GitHubClient(new ProductHeaderValue("YourAppName"));
// Retrieve user information
var user = await client.User.Get("octocat");
// Output the user's name
Console.WriteLine("User Name: " + user.Name);
}
}
Imports Octokit
Imports System
Imports System.Threading.Tasks
Friend Class Program
Shared Async Function Main(ByVal args() As String) As Task
' Create a new instance of the GitHubClient class
Dim client = New GitHubClient(New ProductHeaderValue("YourAppName"))
' Retrieve user information
Dim user = Await client.User.Get("octocat")
' Output the user's name
Console.WriteLine("User Name: " & user.Name)
End Function
End Class
Dieses Codeschnipsel erstellt einen neuen GitHub-Client und ruft Informationen für einen bestimmten Benutzer, octocat
, anhand seines Repository-Namens ab. Anschließend wird der Name des Benutzers auf der Konsole ausgegeben. Es demonstriert den authentifizierten Zugriff auf die API von GitHub unter Verwendung des Benutzernamens und kann auch ohne Authentifizierung auf öffentliche Repositories zugreifen.
Mit Octokit.NET können Sie GitHub-Repositories nach bestimmten Kriterien durchsuchen. Hier erfahren Sie, wie Sie eine Suche durchführen können:
using Octokit;
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var client = new GitHubClient(new ProductHeaderValue("YourAppName"));
var searchRepositoriesRequest = new SearchRepositoriesRequest("machine learning")
{
Language = Language.CSharp
};
var result = await client.Search.SearchRepo(searchRepositoriesRequest);
foreach (var repo in result.Items)
{
Console.WriteLine(repo.FullName);
}
}
}
using Octokit;
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var client = new GitHubClient(new ProductHeaderValue("YourAppName"));
var searchRepositoriesRequest = new SearchRepositoriesRequest("machine learning")
{
Language = Language.CSharp
};
var result = await client.Search.SearchRepo(searchRepositoriesRequest);
foreach (var repo in result.Items)
{
Console.WriteLine(repo.FullName);
}
}
}
Imports Octokit
Imports System
Imports System.Threading.Tasks
Friend Class Program
Shared Async Function Main(ByVal args() As String) As Task
Dim client = New GitHubClient(New ProductHeaderValue("YourAppName"))
Dim searchRepositoriesRequest As New SearchRepositoriesRequest("machine learning") With {.Language = Language.CSharp}
Dim result = Await client.Search.SearchRepo(searchRepositoriesRequest)
For Each repo In result.Items
Console.WriteLine(repo.FullName)
Next repo
End Function
End Class
Dieser Code sucht nach Repositories zum Thema "Maschinelles Lernen", die in C# geschrieben sind. Sie gibt die vollständigen Namen der Repositories aus.
Um geforkte Repositories zu verwalten, können Sie Forks auflisten und erstellen. Hier wird beschrieben, wie man die Forks eines Repositorys auflistet:
using Octokit;
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var client = new GitHubClient(new ProductHeaderValue("YourAppName"));
var forks = await client.Repository.Forks.GetAll("octocat", "Hello-World");
foreach (var fork in forks)
{
Console.WriteLine("Fork ID: " + fork.Id + " - Owner: " + fork.Owner.Login);
}
}
}
using Octokit;
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var client = new GitHubClient(new ProductHeaderValue("YourAppName"));
var forks = await client.Repository.Forks.GetAll("octocat", "Hello-World");
foreach (var fork in forks)
{
Console.WriteLine("Fork ID: " + fork.Id + " - Owner: " + fork.Owner.Login);
}
}
}
Imports Octokit
Imports System
Imports System.Threading.Tasks
Friend Class Program
Shared Async Function Main(ByVal args() As String) As Task
Dim client = New GitHubClient(New ProductHeaderValue("YourAppName"))
Dim forks = Await client.Repository.Forks.GetAll("octocat", "Hello-World")
For Each fork In forks
Console.WriteLine("Fork ID: " & fork.Id & " - Owner: " & fork.Owner.Login)
Next fork
End Function
End Class
Dieses Beispiel listet alle Forks des "Hello-World"-Repositorys auf, das octocat
gehört.
Bei der Interaktion mit der GitHub-API ist das Verständnis und die Handhabung von Ratenbeschränkungen entscheidend. Octokit.NET bietet Tools zur Überprüfung Ihrer Tarifgrenzen:
using Octokit;
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var client = new GitHubClient(new ProductHeaderValue("YourAppName"));
var rateLimit = await client.Miscellaneous.GetRateLimits();
Console.WriteLine("Core Limit: " + rateLimit.Resources.Core.Limit);
}
}
using Octokit;
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var client = new GitHubClient(new ProductHeaderValue("YourAppName"));
var rateLimit = await client.Miscellaneous.GetRateLimits();
Console.WriteLine("Core Limit: " + rateLimit.Resources.Core.Limit);
}
}
Imports Octokit
Imports System
Imports System.Threading.Tasks
Friend Class Program
Shared Async Function Main(ByVal args() As String) As Task
Dim client = New GitHubClient(New ProductHeaderValue("YourAppName"))
Dim rateLimit = Await client.Miscellaneous.GetRateLimits()
Console.WriteLine("Core Limit: " & rateLimit.Resources.Core.Limit)
End Function
End Class
Dieses Snippet prüft und zeigt das Kernlimit Ihrer GitHub-API-Nutzung an und hilft Ihnen, die Anfragen zu verwalten, ohne die Ratengrenzen zu überschreiten.
Octokit.NET unterstützt reaktive Erweiterungen (Rx) für die reaktive Programmierung. Hier ist ein einfaches Beispiel:
using Octokit.Reactive;
using System;
var client = new ObservableGitHubClient(new ProductHeaderValue("YourAppName"));
var subscription = client.User.Get("octocat").Subscribe(
user => Console.WriteLine("User Name: " + user.Name),
error => Console.WriteLine("Error: " + error.Message)
);
// Unsubscribe when done
subscription.Dispose();
using Octokit.Reactive;
using System;
var client = new ObservableGitHubClient(new ProductHeaderValue("YourAppName"));
var subscription = client.User.Get("octocat").Subscribe(
user => Console.WriteLine("User Name: " + user.Name),
error => Console.WriteLine("Error: " + error.Message)
);
// Unsubscribe when done
subscription.Dispose();
Imports Octokit.Reactive
Imports System
Private client = New ObservableGitHubClient(New ProductHeaderValue("YourAppName"))
Private subscription = client.User.Get("octocat").Subscribe(Sub(user) Console.WriteLine("User Name: " & user.Name), Sub([error]) Console.WriteLine("Error: " & [error].Message))
' Unsubscribe when done
subscription.Dispose()
Dieses Beispiel zeigt, wie Benutzerinformationen asynchron abgerufen und reaktiv verarbeitet werden können.
Um mit Git-Tags über Octokit.NET zu arbeiten, können Sie Tags aus einem Repository abrufen:
using Octokit;
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var client = new GitHubClient(new ProductHeaderValue("YourAppName"));
var tags = await client.Repository.GetAllTags("octocat", "Hello-World");
foreach (var tag in tags)
{
Console.WriteLine("Tag Name: " + tag.Name);
}
}
}
using Octokit;
using System;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var client = new GitHubClient(new ProductHeaderValue("YourAppName"));
var tags = await client.Repository.GetAllTags("octocat", "Hello-World");
foreach (var tag in tags)
{
Console.WriteLine("Tag Name: " + tag.Name);
}
}
}
Imports Octokit
Imports System
Imports System.Threading.Tasks
Friend Class Program
Shared Async Function Main(ByVal args() As String) As Task
Dim client = New GitHubClient(New ProductHeaderValue("YourAppName"))
Dim tags = Await client.Repository.GetAllTags("octocat", "Hello-World")
For Each tag In tags
Console.WriteLine("Tag Name: " & tag.Name)
Next tag
End Function
End Class
Dieser Code listet alle Tags für das Repository "Hello-World" auf, das octocat
gehört.
IronPDF ist eine beliebte .NET-Bibliothek, die es Entwicklern ermöglicht, PDFs direkt in C#- und .NET-Anwendungen zu erstellen, zu bearbeiten und zu rendern. Es ist ein leistungsfähiges Werkzeug zur Erstellung von PDF-Berichten aus HTML, Rechnungen oder anderen Dokumenten, die ein festes Layoutformat benötigen. In Kombination mit Octokit.NET, das mit der API von GitHub interagiert, erhöht sich das Potenzial für die Automatisierung von Dokumentationsprozessen, insbesondere im Zusammenhang mit Code-Repositories, erheblich.
Ein praktischer Anwendungsfall für die Integration von IronPDF mit Octokit.NET ist die automatische Erstellung eines PDF-Berichts über die in einem GitHub-Repository gespeicherte Dokumentation eines Projekts. So könnten Sie beispielsweise alle Markdown-Dateien aus einem bestimmten Repository abrufen, sie in ein PDF-Dokument umwandeln und dieses Dokument dann an Interessengruppen oder Kunden verteilen, die eine kompilierte Version der Dokumentation oder der Versionshinweise bevorzugen.
Lassen Sie uns eine einfache Anwendung erstellen, die diese Integration demonstriert. Die Anwendung führt die folgenden Aufgaben aus:
Speichern Sie die PDF-Datei auf dem lokalen Rechner.
So könnten Sie dies in C# schreiben:
using Octokit;
using IronPdf;
using System;
using System.Threading.Tasks;
using System.Linq;
class Program
{
static async Task Main(string[] args)
{
// GitHub client setup
var client = new GitHubClient(new ProductHeaderValue("YourAppName"));
var tokenAuth = new Credentials("your_github_token"); // Replace with your GitHub token
client.Credentials = tokenAuth;
// Repository details
var owner = "repository_owner";
var repo = "repository_name";
// Fetch repository content
var contents = await client.Repository.Content.GetAllContents(owner, repo);
// Initialize the PDF builder
var pdf = new ChromePdfRenderer();
// Convert each markdown file to PDF
foreach (var content in contents.Where(c => c.Name.EndsWith(".md")))
{
pdf.RenderHtmlAsPdf(content.Content).SaveAs($"{content.Name}.pdf");
Console.WriteLine($"Created PDF for: {content.Name}");
}
}
}
using Octokit;
using IronPdf;
using System;
using System.Threading.Tasks;
using System.Linq;
class Program
{
static async Task Main(string[] args)
{
// GitHub client setup
var client = new GitHubClient(new ProductHeaderValue("YourAppName"));
var tokenAuth = new Credentials("your_github_token"); // Replace with your GitHub token
client.Credentials = tokenAuth;
// Repository details
var owner = "repository_owner";
var repo = "repository_name";
// Fetch repository content
var contents = await client.Repository.Content.GetAllContents(owner, repo);
// Initialize the PDF builder
var pdf = new ChromePdfRenderer();
// Convert each markdown file to PDF
foreach (var content in contents.Where(c => c.Name.EndsWith(".md")))
{
pdf.RenderHtmlAsPdf(content.Content).SaveAs($"{content.Name}.pdf");
Console.WriteLine($"Created PDF for: {content.Name}");
}
}
}
Imports Octokit
Imports IronPdf
Imports System
Imports System.Threading.Tasks
Imports System.Linq
Friend Class Program
Shared Async Function Main(ByVal args() As String) As Task
' GitHub client setup
Dim client = New GitHubClient(New ProductHeaderValue("YourAppName"))
Dim tokenAuth = New Credentials("your_github_token") ' Replace with your GitHub token
client.Credentials = tokenAuth
' Repository details
Dim owner = "repository_owner"
Dim repo = "repository_name"
' Fetch repository content
Dim contents = Await client.Repository.Content.GetAllContents(owner, repo)
' Initialize the PDF builder
Dim pdf = New ChromePdfRenderer()
' Convert each markdown file to PDF
For Each content In contents.Where(Function(c) c.Name.EndsWith(".md"))
pdf.RenderHtmlAsPdf(content.Content).SaveAs($"{content.Name}.pdf")
Console.WriteLine($"Created PDF for: {content.Name}")
Next content
End Function
End Class
In diesem Beispiel rufen Sie nach dem Einrichten des GitHub-Clients und der Angabe Ihrer Anmeldedaten Inhalte aus einem Repository ab. Für jede Markdown-Datei im Repository konvertiert IronPDF den Inhalt in eine PDF-Datei, die dann lokal gespeichert wird. Dieser einfache, aber effektive Arbeitsablauf kann durch komplexere Filterung, Formatierung oder sogar Stapelverarbeitung von Dateien für größere Repositories erweitert werden.
Die Integration von Octokit.NET mit IronPDF bietet einen nahtlosen Ansatz zur Automatisierung und Rationalisierung von Dokumenten-Workflows innerhalb Ihrer GitHub-Projekte. Durch den Einsatz dieser Tools können Sie die Effizienz bei der Bearbeitung der Dokumentation steigern und sie in Formaten, die den verschiedenen beruflichen Anforderungen entsprechen, leicht zugänglich machen. IronPDF bietet eine robuste Plattform für die PDF-Bearbeitung, und es ist erwähnenswert, dass sie kostenlose Testversionen für den Einstieg anbieten. Sollten Sie sich für eine Implementierung in Ihr Projekt entscheiden, beginnt die Lizenzierung bei $749.
9 .NET API-Produkte für Ihre Bürodokumente