Читать книгу GitHub – Eine praktische Einführung - Anke Lederer - Страница 33
Einen Issue anlegen
ОглавлениеGehe zum Register Issues, wähle New Issue und gib dem Issue einen aussagekräftigen Namen und einen Inhalt, z.B. den aus Abbildung 3-14.17
Speichere deinen neuen Issue, indem du auf den Button Submit new issue (deutsch etwa »neuen Issue einreichen«) klickst. Wenn du danach im Projektmenü Issues auswählst, erscheint jetzt der eben von dir neu angelegte Issue.
Abbildung 3-14: Das Erstellen eines Issues ist handwerklich ziemlich einfach. Die größere Herausforderung besteht darin, einen gescheiten Titel und eine gute Beschreibung zu finden.
Auf dem Bild habe ich noch eine Besonderheit eingebaut. Innerhalb eines Issues gibt es die Möglichkeit, auf andere Issues oder Pull-Requests zu verlinken. Das ist vor allem dann nützlich, wenn man zeigen möchte, dass ein anderer Issue ein ähnliches Problem adressiert oder ein bestimmter Pull-Request das Problem lösen könnte (Pull-Requests lernst du in Kapitel 4 noch kennen). Diese Verlinkung funktioniert über das Eingeben des Rautesymbols #, und GitHub unterstützt uns mit einem Drop-down und einer Auswahl an Möglichkeiten. Das funktioniert allerdings nur, wenn bereits ein Issue oder Pull-Request vorhanden ist.
Es gibt auch noch die Möglichkeit, mit sogenannten @mentions18 Menschen direkt zu adressieren, die beispielsweise vielleicht einen Blick auf den Issue werfen sollten. Diese bekommen dann eine Benachrichtigung, dass sie erwähnt wurden. Abbildung 3-15 ist ein realer Beitrag in einem Issue aus dem moby-Projekt19, das wir in Kapitel 2 bereits kurz kennenlernen durften.
Abbildung 3-15: Über @mentions kann man Menschen direkt ansprechen. Diese erhalten eine entsprechende Benachrichtigung.
Sofern du Projekteignerin oder Maintainerin bist, kannst du Issues bestimmten Personen zuordnen, die dann für den entsprechenden Issue verantwortlich sind (englisch Asignee). Diese Verantwortung kann im Laufe der Zeit wechseln, z.B. wenn der Datenbankspezialist bei der Suche feststellt, dass der Fehler an einer ganz anderen Stelle ist. Wenn er den Fehler deswegen nicht lösen kann, gibt er den Issue vielleicht weiter an die Hauptentwicklerin. Da dein Projekt noch relativ frisch und neu ist, gibt es bisher nur eine Person, der du die Verantwortung übertragen kannst.20
Um Issues besser wiederfinden zu können oder auch um die Dringlichkeit oder Wichtigkeit eines Issues klarzumachen, kann man sie mit sogenannten Labels klassifizieren. GitHub bietet von Haus aus eine Reihe vorgefertigter Labels an (siehe Abbildung 3-16). Es ist aber auch möglich, eigene Labels zu erstellen, wenn es für das jeweilige Projekt sinnvoll erscheint. Labels werden uns später noch helfen, andere Projekte zu finden, bei denen wir unterstützen können (siehe Abschnitt »Fremdes Projekt suchen« auf Seite 117 in Kapitel 6).
Wir wollen zu Übungszwecken dem Issue ein Label geben und dir zuweisen. Es gibt dafür zwei Wege.
Weg 1: Du wählst den entsprechenden Issue aus und bekommst auf der rechten Seite ein entsprechendes Menü (siehe Abbildung 3-17).
Weg 2: Du gehst auf die Issue-Übersichtsseite (siehe Abbildung 3-18) und wählst über die Checkbox den entsprechenden Issue an . Danach kannst du über die Drop-down-Felder die Aktionen durchführen + . Dieser Weg hat den großen Vorteil, dass du mehrere Issues gleichzeitig bearbeiten kannst.
Abbildung 3-16: GitHub bietet einige Labels von Haus aus bereits an. Jedes Label kann eine unterschiedliche Farbe haben.
Abbildung 3-17: Issue labeln und zuweisen, Weg 1: direkt im Issue auf der rechten Seite
Abbildung 3-18: Issue labeln und zuweisen, Weg 2: in der Issue-Übersicht nach Anklicken des/der jeweiligen Issues
Wähle ein Label deiner Wahl (z.B. enhancement) und wähle dich als Asignee aus. Das Ganze könnte dann so aussehen wie in Abbildung 3-19. Das Zuweisen eines Labels oder Asignees erfolgt durch einen einfachen Klick und muss nicht noch gesondert gespeichert oder bestätigt werden. Das kann leicht dazu führen, dass man aus Versehen etwas falsch zuweist. Wie man in der Abbildung sieht, habe ich zunächst das falsche Label question ausgewählt und bin danach erst zum richtigen Label enhancement gegangen. Hier sieht man sehr gut, dass GitHub jede Aktivität in einem Issue auch dokumentiert und dadurch für jeden und jede nachvollziehbar macht – selbst wenn es sich um einen Fehler handeln sollte.
Abbildung 3-19: Issues können Personen (»Asignees«) zugeordnet werden und können Etiketten (»Labels«) haben, um sie klassifizieren zu können.