====== Github-support ====== ===== Fachliche Beschreibung ===== * Zugang/Authorisation wird über oAuth-Applikation umgesetzt * Webhooks können Organisationsweit oder Repo-spezifisch angelegt werden: [[https://developer.github.com/webhooks/]] ===== Technische Beschreibung ===== * GitHub-API Dokumentation: [[https://developer.github.com/v3/]] ===== Einschränkungen / Bedingungen ===== Die GitHub-API hat ein Limit für die Anzahl an Request in einem bestimmten Zeitintervall Ideen und Ansätze um die Requestanzahl zu reduzieren: * lokales caching * [[https://developer.github.com/v3/#conditional-requests|Conditional requests]] ==== 30s Webhook Timeout ==== > GitHub expects that integrations respond within thirty seconds of receiving the webhook payload. If your service takes longer than that to complete, then GitHub terminates the connection and the payload is lost. [[https://developer.github.com/guides/best-practices-for-integrators/#favor-asynchronous-work-over-synchronous|Best practices: Favor asynchronous work over synchronous]] * [[http://stackoverflow.com/questions/858883/run-php-task-asynchronously|SO: Run PHP Task Asynchronously]] ===== Produkt-/Projekt-Kontext ===== * für die Anwendung in der OpenSource-Welt erscheint die Nutzung von GitHub als etabliertes Werkzeug sinnvoll * eine Ausdehnung der Nutzung von GitHub als Ersatz von JIRA wird zumindest konzeptionell betrachtet ===== Annahmen ===== * Für OpenSource-Projekte werden eher offene GitHub-Repos anstelle privater git-Installationen genutzt ===== Einschränkungen / Bedingungen ===== * eine 1:1-Abbildung von JIRA erscheint schwierig aufgrund unterschiedlicher Anwendungskonzepte ===== Abhängigkeiten ===== * keine {{page>patterns:aggregations:requirement_feature#Zugehörige Requirements&nofooter&noeditbuttons}}