Zum Hauptinhalt springen

Warum Devin in GitHub integrieren?

Die Integration von Devin in deine GitHub-Organisation ermöglicht es Devin, Pull-Requests zu erstellen, PR-Kommentare zu lesen und zu beantworten usw. So kann Devin als echter Partner in deinem Engineering-Team agieren. Die Einrichtung ist einfach! Gehe zu app.devin.ai > Settings > Integrations > GitHub, klicke auf Connect und folge den Schritten zur Integration der GitHub-App auf dem Bildschirm. Achte darauf, Zugriff auf die relevanten Repos auszuwählen und die Berechtigungen zu überprüfen.
Verwendest du GitHub Enterprise Server? Siehe den GitHub Enterprise Server Integrationsleitfaden für Einrichtungsschritte mithilfe persönlicher Zugriffstokens.

Einrichten der Integration

Gibt es Probleme? Sehen Sie sich unsere Seite zu häufigen Problemen für Lösungen an.
  1. Gehen Sie in Ihrem Devin-Konto unter app.devin.ai zu Settings > Integrations > GitHub und klicken Sie auf die Schaltfläche „Connect“, um Ihre Organisation mit der Devin-GitHub-App zu verbinden.
  2. Sie werden zu GitHub weitergeleitet, wo Sie das GitHub-Konto und die Repositories auswählen, mit denen Devin verbunden werden soll, und die entsprechenden Berechtigungen überprüfen können.
    • Wenn Sie die GitHub-Integration im Namen Ihrer Organisation einrichten, stellen Sie sicher, dass Sie das Konto Ihres Unternehmens auswählen.
Devin
  1. Sobald Sie alle Einrichtungsschritte in GitHub abgeschlossen haben, werden Sie zu den Devin-Kontoeinstellungen weitergeleitet, wo Sie bestätigen können, dass die Integration eingerichtet ist.
Devin
  1. [Nur für Enterprise-Kunden] Fügen Sie das GitHub-Konto cognition-team zu den relevanten Repositories hinzu. Dadurch können wir Devin beim Onboarding auf Ihre Codebasis unterstützen und Devin-Aktivitäten überwachen.
Wir empfehlen, Branchschutz für den master-Branch zu aktivieren, um sicherzustellen, dass alle Checks erfolgreich sind, bevor Devin Änderungen mergen kann.

Verwendung von Devin mit der GitHub-Integration

Sobald die Integration eingerichtet ist, kannst du zur Devin-Webanwendung wechseln und das Repo in deinem Prompt per @-Mention referenzieren. Wenn du ein Repository zum ersten Mal verwendest, empfehlen wir dir, den Einrichtungsprozess der Entwicklungsumgebung im Onboarding-Flow zu durchlaufen, um sicherzustellen, dass Devin die genauesten und aktuellsten Informationen zur Arbeit mit deiner Codebasis hat.
Devin beantwortet automatisch alle PR-Kommentare, solange die Sitzung nicht archiviert wurde

Pull-Request-Vorlagen

Wenn Devin einen Pull-Request erstellt, versucht es, die PR-Beschreibung anhand einer Vorlage aus deinem Repository zu strukturieren. Wenn du eine Vorlage bereitstellst, hält sich Devin an deren Struktur, wenn es die Beschreibung verfasst, die auf GitHub eingereicht wird.

Devin-spezifische Vorlage (bevorzugt)

Du kannst Devin eine eigene Vorlage geben, ohne deine Standardvorlage für menschliche Nutzer zu ändern, indem du eine Datei mit dem Namen devin_pr_template.md in einem der unten aufgeführten unterstützten PULL_REQUEST_TEMPLATE-Speicherorte hinzufügst. Das ist hilfreich, wenn du möchtest, dass Devin zusätzliche Hinweise einbindet (zum Beispiel eine Checkliste für Reviewer oder Anweisungen zum Einfügen eines Mermaid-Diagramms der betroffenen Dateien).

Such- und Prioritätsreihenfolge

Devin sucht in der folgenden Reihenfolge nach der ersten vorhandenen Datei (erster Treffer gewinnt):
  1. PULL_REQUEST_TEMPLATE/devin_pr_template.md
  2. docs/PULL_REQUEST_TEMPLATE/devin_pr_template.md
  3. .github/PULL_REQUEST_TEMPLATE/devin_pr_template.md
  4. pull_request_template.md
  5. docs/pull_request_template.md
  6. .github/pull_request_template.md
Wenn keine dieser Dateien existiert, greift Devin auf sein internes Standardformat für PR-Beschreibungen zurück.
Wenn du bereits eine GitHub-pull_request_template.md hast, der Devin exakt folgen soll, kopiere sie einfach in einen der oben genannten devin_pr_template.md-Pfade (oder erstelle einen Symlink darauf).
Weitere Informationen zu GitHub-Pull-Request-Vorlagen (unterstützte Speicherorte, mehrere Vorlagen, Query-Parameter usw.) findest du in den GitHub Docs: Creating a pull request template for your repository.

Berechtigungen für Devin festlegen

Verwalten von Berechtigungen

Du musst Administrator der GitHub-Organisation sein, in der die Devin-Integration installiert ist, um Berechtigungen zu verwalten.
Beim Einrichten der Integration kannst du auswählen, ob Devin auf alle Repositories der Organisation oder nur auf eine ausgewählte Teilmenge von Repositories zugreifen darf.
Du kannst die Berechtigungen jederzeit über die Konfigurationsseite der Integration in GitHub anpassen, sobald die App verbunden ist:
  • Schritt 1: Gehe zu den GitHub-Integrationseinstellungen
  • Schritt 2: Navigiere zur Devin.ai-Integration und klicke auf „Configure“
  • Schritt 3: Scrolle zum Abschnitt „Repository access“, um die Berechtigungen zu verwalten
Devin
Devin benötigt die folgenden Berechtigungen: Lesezugriff auf:
BerechtigungBeschreibung
dependabot alertsErmöglicht Devin, Dependabot-Warnungen in deinem Namen zu beheben (d. h. Aktualisieren von Abhängigkeitsversionen)
actionsErmöglicht Devin, die für ein Repository konfigurierten Actions einzusehen, um zu verstehen, ob Devins Änderungen die CI-Prüfungen erfolgreich durchlaufen
checksErmöglicht Devin, die für ein Repository konfigurierten Checks einzusehen, um zu verstehen, ob Devins Änderungen die CI-Prüfungen erfolgreich durchlaufen
commit statusesErmöglicht Devin zu sehen, ob ein Commit die CI-Prüfungen erfolgreich durchläuft
deploymentsErmöglicht Devin zu sehen, welche Versionen eines Repositories bereitgestellt wurden
metadataErmöglicht Devin, wichtige Metadaten zu einem Repository einzusehen, z. B. wer es besitzt
packagesErmöglicht Devin zu sehen, welche Versionen eines Repositories als Paket ausgeliefert wurden
pagesErmöglicht Devin, mit einem Repository verknüpfte Pages zu konsultieren, z. B. um Dokumentation einzusehen
repository advisoriesErmöglicht Devin, sicherheitsrelevante Hinweise zu einem Repository einzusehen, um bei der Behebung von Sicherheitsproblemen zu helfen
repository hooksErmöglicht Devin, die für ein Repository konfigurierten Hooks einzusehen, z. B. Linting und Typprüfungen
repository projectsErmöglicht Devin, mit einem Repository verknüpfte Projekte einzusehen, z. B. um Informationen zu einer Aufgabe abzurufen
Lese- und Schreibzugriff auf:
BerechtigungBeschreibung
codeErmöglicht Devin, zur Codebasis beizutragen
discussionsErmöglicht Devin, zu Discussions beizutragen
issuesErmöglicht Devin, neue Issues zu eröffnen
pull requestsErmöglicht Devin, neue PRs zu erstellen
workflowsErmöglicht Devin, neue Workflows einzurichten, z. B. zur Unterstützung bei der Konfiguration von CI/CD
Wir beantragen diese Berechtigungen, damit Devin in deinem Repository wie ein regulärer Contributor arbeiten kann. Konkret erlauben wir Devin, neue Branches zu pushen, PRs zu eröffnen und zu PR-Diskussionen beizutragen – das ist entscheidend dafür, dass Devin produktiv zu deiner Codebasis beitragen kann.

Commit-Signierung

Während deines Repository-Setups kannst du das Devin-Terminal verwenden, um einen GPG-Schlüssel zu erstellen, der zum Signieren von Commits genutzt wird, gemäß dem GPG-Verfahren, das in GitHubs Dokumentation beschrieben ist. Wir empfehlen, in deiner Organisation ein Dummy-GitHub-Konto zu erstellen (z. B. [email protected]) und den GPG-Schlüssel dort hochzuladen, damit du nachvollziehen kannst, welche Commits von Devin stammen.
Devin

Sicherheitshinweise

Zusätzliche Informationen zu Devins Berechtigungen in GitHub:
  • Wir empfehlen, Branch-Schutzregeln für den Branch master zu aktivieren, um sicherzustellen, dass alle Checks durchlaufen werden, bevor Devin Änderungen mergen kann.
  • Wenn Devin mit dem GitHub-Konto Ihrer Organisation verbunden ist, hat es dasselbe Berechtigungsniveau wie Benutzer, die sowohl auf die GitHub- als auch auf die Devin-Organisation Zugriff haben.
  • Devin übernimmt nicht die Berechtigungen des Benutzers, der eine Sitzung mit Devin ausführt, sondern behält die auf Organisationsebene gewährten Berechtigungen.
  • Devin kann keine neuen Repositories in Ihrem GitHub-Konto erstellen.

IP-Whitelisting

Wenn Sie die Dienste von Devin für den Zugriff auf die GitHub-Ressourcen Ihrer Organisation auf die Allowlist setzen müssen, fügen Sie bitte die folgenden IP-Adressen hinzu:
  • 100.20.50.251
  • 44.238.19.62
  • 52.10.84.81
  • 52.183.72.253
  • 20.172.46.235
  • 52.159.232.99
(Bitte beachten Sie, dass sich diese IP-Adressen in zukünftigen Updates ändern können.)

GitHub-Integration – FAQ

Ja, ein Nutzer kann wählen, ob er eine GitHub-Organisation oder ein persönliches Konto mit dem Devin-Konto seiner Organisation verbindet. Wir empfehlen jedoch, das Konto zu verbinden, das über die relevanten Berechtigungen verfügt, damit Devin Sitzungen für die Organisation ausführen kann.
Nur Nutzer, die mit Zugriff bzw. Berechtigungen für die Organisation authentifiziert sind, mit der die GitHub-Integration verbunden wurde, können sie in ihren Devin-Ausführungen verwenden. Anders ausgedrückt: Devin-Instanzen haben nur dann Zugriff auf eine GitHub-Integration, wenn sie von Personen gestartet werden, die zu den Organisationen gehören, welche diese GitHub-Integration installiert haben.
Verschlüsselungsschlüssel werden von AWS KMS verwaltet und regelmäßig erneuert.