Benutzer-Werkzeuge

Webseiten-Werkzeuge


redmine:api

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte Überarbeitung Both sides next revision
redmine:api [2019/10/01 21:36]
webproducer Beispiel ergänzt
redmine:api [2020/03/27 11:14]
webproducer Hinweis: Eigenen Benutzer für API anlagen
Zeile 6: Zeile 6:
  
 In diesem Beispiel wird der wohl wichtigste Bereich für die API beschrieben:​ Die Tickets. Durch die Ressource "​Issue"​ können Ticktes angelegt, gelesen, geändert und auch gelöscht werden. Ein typisches Anwendungsbeispiel ist die Integration in die Webseite, um Kundenanfragen vom Typ "​Fehler"​ und "​Verbesserungsvorschlag"​ automatisch direkt in ein Ticket umzuwanden. In diesem Beispiel wird der wohl wichtigste Bereich für die API beschrieben:​ Die Tickets. Durch die Ressource "​Issue"​ können Ticktes angelegt, gelesen, geändert und auch gelöscht werden. Ein typisches Anwendungsbeispiel ist die Integration in die Webseite, um Kundenanfragen vom Typ "​Fehler"​ und "​Verbesserungsvorschlag"​ automatisch direkt in ein Ticket umzuwanden.
 +
 +Es ist empfehlenswert für die API einen eigenen Benutzer in Redmine anzulegen und diesem neuen Benutzer auch die Projekte zuzuordnen, auf die mit der API zugegriffen werden sollen, da der vorinstallierte admin Berechtigungen über alle Projekte hat.
  
 Die Variable "​key"​ muss durch den API-Zugriffsschlüssel ersetzt werden der in Redmine unter "Mein Konto" auf der rechten Seite angezeigt wird. Die Variable "​key"​ muss durch den API-Zugriffsschlüssel ersetzt werden der in Redmine unter "Mein Konto" auf der rechten Seite angezeigt wird.
Zeile 135: Zeile 137:
     public $description ​    = '';​     public $description ​    = '';​
     public $category_id ​    = NULL;     public $category_id ​    = NULL;
 +    public $done_ratio ​     = 0;    // % erledigt
     public $tracker_id ​     = 2;     public $tracker_id ​     = 2;
     public $priority_id ​    = 2;     public $priority_id ​    = 2;
Zeile 147: Zeile 150:
 ---- ----
  
-==== Neues Ticket anlegen ====+Für die nachfolgenden Beispiele müssen die beiden Dateien oben eingebunden werden und eine Instanz der Klasse "​Redmine"​ erstellt werden:
  
 <code php> <code php>
Zeile 153: Zeile 156:
 include '​redmineIssueModel.php';​ include '​redmineIssueModel.php';​
  
 +$rm = new Redmine();
 +</​code>​
 +
 +==== Neues Ticket anlegen ====
 +
 +<code php>
 $issue = new redmineIssueModel();​ $issue = new redmineIssueModel();​
 $issue->​description = '​Redmine Rest-API in das Support-Formular integrieren';​ $issue->​description = '​Redmine Rest-API in das Support-Formular integrieren';​
Zeile 159: Zeile 168:
 $issue->​assigned_to_id = 1; $issue->​assigned_to_id = 1;
  
-$rm = new Redmine(); 
 $id = $rm->​createIssue( $issue ); $id = $rm->​createIssue( $issue );
 echo "​Ticket mit der ID " . $id . " angelegt.";​ echo "​Ticket mit der ID " . $id . " angelegt.";​
Zeile 166: Zeile 174:
 ==== Vorhandenes Ticket auslesen und ändern ==== ==== Vorhandenes Ticket auslesen und ändern ====
 <code php> <code php>
-include '​class.Redmine.php';​ 
-include '​redmineIssueModel.php';​ 
- 
 $issue = $rm->​getIssue( $id ); $issue = $rm->​getIssue( $id );
-$issue->subject ​'​Redmine Rest-API integrieren'​+$issue->done_ratio  ​50; // 50 % erledigt 
-$issue->​notes = 'Überschrift geändert';+$issue->​status_id ​  = $issue::​STATUS_ZUGEWIESEN;​ 
 +$issue->​priority_id = $issue::​PRIO_HOCH
 +$issue->​notes ​      ​= 'Die hälfte schon umgesetzt';
  
-$rm = new Redmine(); 
 $rm->​updateIssue( $issue, $id ); $rm->​updateIssue( $issue, $id );
 +</​code>​
 +
 +==== Vorhandenes Ticket löschen ====
 +
 +<code php>
 +if( $rm->​deleteIssue( $id ) )
 +{
 +    echo "​Ticket " . $id . " gelöscht";​
 +}
 </​code>​ </​code>​
redmine/api.txt · Zuletzt geändert: 2020/10/21 16:47 von webproducer