
Teilen Sie:
Nahrin war Developer Educator bei Vonage. Ihre Leidenschaft gilt dem Aufbau inklusiver Gemeinschaften, der Erfüllung realer Bedürfnisse mit pragmatischen Softwarelösungen und der Erstellung technischer Inhalte, die für alle Kenntnisstufen zugänglich sind.
12 Bots zur Verbesserung Ihres Open-Source-Projekts
Lesedauer: 5 Minuten
Je länger ein Open-Source-Projekt existiert und wächst, desto mehr Probleme und ungelöste Pull-Anfragen sammeln sich an. Es ist keine leichte Aufgabe, mit neuen Beiträgen Schritt zu halten, insbesondere wenn es noch ungelöste Probleme aus der Vergangenheit gibt.
Hereinspaziert, Bots! Die Automatisierung und Auslagerung von Arbeiten an Bots entlastet die Wartungsmitarbeiter und gibt ihnen Zeit für wichtigere Aufgaben.
Dieser Beitrag befasst sich mit 12 Möglichkeiten zur Verbesserung Ihres Open-Source-Projekts mit Probot (GitHub Apps) und GitHub Actions-zwei separate Projekte mit dem gemeinsamen Ziel Entwickler in die Lage zu versetzen, ihre Arbeitsabläufe zu erweitern und die Art und Weise, wie GitHub funktioniert, anzupassen.
Wenn Sie mehr über die Unterschiede zwischen den Projekten erfahren möchten, lesen Sie Jason Etcovitchs hervorragenden Blogbeitrag zu diesem Thema könnte Ihnen helfen. Hier ist sein Vergleich zwischen den beiden:
github apps vs actions
Lassen Sie uns nun damit beginnen, Automatisierungswerkzeuge vorzustellen, die Ihnen das Leben als Projektbetreuer erleichtern werden. Hier sind die Bots, mit denen Sie Ihr Open-Source-Projekt verbessern können, ohne lange zu überlegen!
Probot (GitHub Apps)
Infos anfordern
Fordert weitere Informationen zu Issues und Pull-Requests mit dem Standardtitel oder einem leeren Textkörper an.
Request-Info fordert weitere Informationen von neu geöffneten Pull Requests und Issues an, die entweder Standardtitel enthalten oder deren Beschreibung leer ist. Dazu werden Daten aus einer .github/config.yml übernommen.
Request-Info bot
Keine Antwort
Schließt Fragen, bei denen der Autor nicht auf eine Anfrage nach weiteren Informationen geantwortet hat.
Sehr oft werden Probleme eingereicht, ohne dass genügend Informationen vorliegen, um sie angemessen untersuchen zu können. Wenn das passiert, können die Betreuer einen Fehler so kennzeichnen, dass mehr Informationen vom ursprünglichen Autor benötigt werden. Wenn der Autor die erforderlichen Informationen nicht rechtzeitig zur Verfügung stellt, wird das Problem automatisch vom Bot geschlossen. Wenn der ursprüngliche Autor zurückkommt und mehr Informationen zur Verfügung stellt, entfernt der No Response-Bot die Markierung, und der Vorgang wird automatisch wieder geöffnet, falls nötig.
No response bot
Zusammenführbar
Verhindern Sie das Zusammenführen von Pull Requests basierend auf Konfigurationen.
Machen Sie Ihre Pull Requests nur dann "zusammenführbar", wenn bestimmte Begriffe nicht im Titel oder im Label enthalten sind, der Meilenstein des Pull Requests mit dem konfigurierten übereinstimmt und es mindestens n genehmigte Reviews gibt, wobei n konfigurierbar ist.
Automatisch zuweisen
Fügen Sie Reviewer/Assignees zu Pull Requests hinzu, wenn Pull Requests geöffnet werden.
Wenn die Pull-Anfrage geöffnet wird, fügt dieser Bot automatisch Reviewer/Assignees zu der Pull-Anfrage hinzu. Wenn die Anzahl der Reviewer/Assignees angegeben ist, fügt er nach dem Zufallsprinzip Reviewer/Assignees zu der Pull-Anfrage hinzu. Wenn der Titel der Pull-Anfrage ein bestimmtes Schlüsselwort enthält, fügt der Bot keine Reviewer/Assignees zu der Pull-Anfrage hinzu.
Abgestanden
Schließen Sie veraltete Issues und Pull Requests, die sich während eines Projekts ansammeln, automatisch.
Nach einer gewissen Zeit der Inaktivität wird ein Issue mit einem Label versehen, um es als veraltet zu markieren, und optional wird ein Kommentar gepostet, um die Mitwirkenden zu informieren, dass das Issue oder der Pull Request geschlossen wird. Wenn der Issue oder Pull Request aktualisiert wird oder jemand einen Kommentar abgibt, wird die Markierung entfernt und es wird nichts weiter unternommen, bis der Issue oder Pull Request wieder veraltet ist. Wenn keine Aktivität mehr stattfindet, wird der Issue oder Pull Request automatisch mit einem optionalen Kommentar geschlossen.
Stale bot
Erstsemester
Erstellt Starter-Themen, um neue Open-Source-Mitwirkende einzubinden.
Der Prozess der Erstellung eines Pull Requests ist die größte Hürde für neue Mitwirkende. First Timers vereinfacht den Prozess zur Erstellung von einfachen, beitragsfreundlichen Themen, um mehr Menschen zu helfen, zum ersten Mal Open-Source-Beitragende zu werden.
GitHub-Aktionen
Fussel
Anzeige und automatische Behebung von Linting-Fehlern für viele Programmiersprachen.
Lint zeigt Linting-Fehler bei GitHub-Commits und PRs an, ermöglicht die automatische Behebung von Problemen und unterstützt viele Linter und Formatierer.
Lint Action
Größe Grenze
Vergleicht die tatsächlichen Kosten für die Ausführung Ihrer JS-Anwendung oder Bibliothek, um eine gute Leistung in jedem Pull-Request zu erhalten.
Diese Aktion verwendet Size Limit (Performance-Budget-Tool für JavaScript), um die tatsächlichen Kosten Ihres JavaScript für die Endbenutzer zu berechnen. Die Hauptfunktionen dieser Aktion sind die Kommentierung von Pull-Requests mit dem Vergleich der Size Limit-Ausgabe und die Ablehnung eines Pull-Requests, wenn die Kosten den Grenzwert überschreiten.
Size limit action
LibreSelery
Kontinuierliche Verteilung der Finanzmittel an Ihre Projektbeteiligten und -abhängigen.
LibreSelery ist ein Tool zur Verteilung von Geldern in freien und Open-Source-Projekten. Mit einem neuen Finanzierungsmodell bietet es eine transparente, automatisierte und anpassungsfähige Vergütung von Mitwirkenden. Ziel ist es, den Mittelsmann bei der Spendenverteilung so weit wie möglich durch einen freien und transparenten Algorithmus zu ersetzen. Im Gegensatz zu den meisten anderen Spendensystemen bietet LibreSelery nur ein dezentrales Werkzeug und keine Plattform.
Gewinde sperren
Sperrt geschlossene Issues und Pull-Requests nach einer gewissen Zeit der Inaktivität.
Die Aktion verwendet GitHubs aktualisierten Suchqualifikator, um Inaktivität festzustellen. Jede Änderung an einem Issue oder Pull Request gilt als Update, einschließlich Kommentare, Änderung von Labels, Anwenden oder Entfernen von Milestones oder Pushing Commits. Lock Threads ist eine GitHub Aktion, die geschlossene Issues und Pull-Requests nach einer gewissen Zeit der Inaktivität sperrt.
Lock Threads Action
Pull Request Labeler
Kennzeichnet eine Pull-Anfrage automatisch auf der Grundlage der übergebenen Dateien.
Beim Verschieben wird die Aktion ausgelöst und sucht in der Verzweigung nach übergebenen Dateien. Sie wendet die konfigurierten Labels an, wenn sie eine Datei findet, deren Name mit dem zugehörigen regulären Ausdruck übereinstimmt.
PR Labeler Action
alex
Fängt unsensibles, rücksichtsloses Schreiben auf.
Alex hilft Ihnen, geschlechtsspezifische, polarisierende, rassistische, religionsfeindliche oder andere ungleiche Formulierungen in Texten zu finden.
Nächste Schritte
Es gibt viele Es gibt noch viele weitere Automatisierungswerkzeuge, die Ihren Arbeitsablauf als Betreuer verbessern können. Ich möchte Sie ermutigen, weitere Optionen zu erkunden oder sich selbst an der Entwicklung eines eigenen Tools zu versuchen!
Probot-Anwendungen können geschrieben, bereitgestellt und gemeinsam genutzt werden. Viele der beliebtesten Probot-Apps werden gehostet, sodass Sie sich nicht um die Bereitstellung und Verwaltung kümmern müssen. Sie können auch eigene Aktionen erstellen oder Aktionen anpassen, die von der GitHub-Community mit Hilfe von Anleitungen.
Was sind Ihre bevorzugten Open-Source-Automatisierungstools? Haben Sie selbst eines entwickelt? Lassen Sie es uns in den Kommentaren unten wissen, auf Twitteroder in der Vonage Entwickler-Community Slack!
Zusätzliche Ressourcen
Vonage ist begeistert, ein Partner des Hacktoberfest 2020 zu sein. Wir sind sind keine Fremden in Sachen Open SourceUnsere Bibliotheken, Codeschnipsel und Demos befinden sich alle auf GitHub. Um voll und ganz in die Festivitäten einzutauchen, besuchen Sie bitte unsere Hacktoberfest-Seite für Details über alles, was wir geplant haben.
Weitere Blogbeiträge zum Thema Open Source finden Sie weiter unten: