====== GitHub-Support als Issue-Tracker (JIRA-Ersatz) ======
===== Grund und Umfang der Spezifikation =====
* Es wird überlegt, nicht nur JIRA als Issue-Tracker einzubinden sondern alternativ auch GitHub
===== Produkt-/Projekt-Kontext =====
* Dies ist besonders für OpenSource-Projekte sinnvoll, da diese sowieso oftmals auf GitHub ihre Repos hosten
* Die Komplexität der Nutzung verschiedenster Systeme würde sich reduzieren, da GitHub zumindest eingeschränkt auch Issue-Tracker-Features anbietet
===== Annahmen =====
* GitHub ist kostenfrei, es sei denn jemand möchte seine Repos privat schalten
===== Einschränkungen / Bedingungen =====
* Funktionsumfang von GitHub ist nicht so ausgereift wie bei JIRA
==== GitHub-Informationen in SprintDoc ====
Felder der Issues:
^ Feld ^ Jira ^ GitHub ^ GitLab ^
| **Summary/Title** | :yes: | :yes: | :yes: |
| **Beschreibung** | :yes: | :yes: (original Post) | :yes: (original Post) |
| **Type** | :yes: | :no: | :no: |
| **Status** | :yes: | :yes: (nur ''open''/''closed'') | :yes: - :?: Wie wirkt sich die Position auf dem Board aus? |
| Labels | :yes: | :yes: | :yes: |
| priority | :yes: | :no: | :no: |
| duedate | :yes: | :no: | :yes: |
| versions | :yes: | :no: | :no: |
| updated | :yes: | :yes: | :yes: |
| Epic | not yet | :no: | :no: |
| Milestone | :no: | :yes: | :yes: |
| Confidential | :no: | :no: | :yes: |
=== Herausforderungen ===
* GitHub hat keinen Issue-Typ, sondern es werden Labels auch für diesen Zweck verwendet.
* Diese müssen wir auf den Issue-Typ Mappen
* Liste von Labels die als Status gemappt werden sollen: ''Bug'', ''Feature'', ''Enhancement''?
* Ähnlich könnte mit Prioritäten verfahren werden
===== Abhängigkeiten =====
* gibt es Abhängigkeiten zu anderen Elementen oder hängen andere Elemente von diesem requirement ab
* GitHub Webhooks: [[https://developer.github.com/webhooks/]]
* Accounts/Bots: [[http://stackoverflow.com/questions/29177623/what-is-a-bot-account-on-github|SO: What is a “bot account” on github?]]
>> User accounts are intended for humans, but you can give one to a robot, such as a continuous integration bot, if necessary.
Existing Bots:
* [[https://github.com/facebook/mention-bot]]
* [[https://github.com/cvrebert/lmvtfy]]
* [[https://github.com/fat/haunt]]
Status von Pull-Requests:
* [[https://github.com/blog/1227-commit-status-api|GitHub Blog: Commit Status API]]
* [[https://developer.github.com/v3/repos/statuses/|GitHub API: Statuses]]
* Idee: Status könnte beschreiben ob mit diesem Commit schon Wiki-Dokumente verknüpft sind
sonstiges: [[https://developer.github.com/guides/best-practices-for-integrators/|Best practices for integrators]]