Verwenden Sie die Github API, um die Zusammenführungsschaltfläche bei einer Pull-Anforderung zu deaktivieren und sie mithilfe von REST wieder zu aktivieren

8

Ich habe meinen eigenen Webserver entwickelt, der auf meiner Android-App automatisiert. Wenn bei der Automatisierung Probleme auftreten, möchte ich die Schaltfläche "Zusammenführen" für eine Github-Pull-Anforderung mithilfe eines Befehls cURL REST programmgesteuert deaktivieren. Ich kann den richtigen Weg nicht finden, aber es scheint, dass viele Leute von dieser Funktionalität profitieren würden.

Die API für Github Pull-Anfragen finden Sie hier: Ссылка

Ich weiß, dass dies möglich ist, denn wenn Sie in Ihrem Zweig Zusammenführungskonflikte haben, wird die Schaltfläche ausgegraut und Sie können sie nicht mehr anklicken / zusammenführen. Das ist genau die Funktionalität, nach der ich suche. Jede Hilfe würde sehr geschätzt werden.

    
Scott B 30.10.2015, 18:09
quelle

2 Antworten

5

Dies ist möglich. Es gibt einige Schritte, die Sie ergreifen sollten, um diese Funktion zu aktivieren.

  1. Konfigurieren Sie einige Ihrer Zweige (normalerweise ist es master oder / und develop , hängt von Ihrem ab Workflow) als protected .
  2. Mit Status-API können Sie Pending , Success , Error und% co_de senden % Status Die Zustände Failure , Pending und Error blockieren die Schaltfläche Zusammenführen.

Sobald dies erledigt ist, können Sie Status basierend auf Ihren Geschäftsregeln POST setzen.

%Vor%

Failed ist der Hash des letzten Commits in der Pull-Anforderung

Mit Payload wie diesem:

%Vor%

Eines ist erwähnenswert. Wenn Sie mindestens einen Status gepostet haben, wird der Wert von :sha filed auf der Seite mit den Einstellungen für geschützte Zweigstellen angezeigt. Vergessen Sie nicht, diesen Status als erforderlich zu markieren:

Geschützte Zweige und erforderliche Statusprüfungen

    
Anton Sizikov 06.11.2015, 18:29
quelle
0

Wenn Sie die Zweigstelle schützen und die Zusammenführung blockieren, wenn die Statusprüfungen nicht bestanden werden oder keine Überprüfungen durchgeführt werden, funktioniert dies. Dies ist eine sehr geradlinige Lösung und es funktioniert perfekt. Aber wenn Sie neugieriger sind, dann versuchen Sie es, ohne den Zweig zu schützen. Ich konnte keinen Weg finden, dies zu tun.

    
Bhumika Goyal 06.06.2017 11:43
quelle