/ / Wie POST auf eine URL? (Problem mit JIRA api erstellen) - api, rest, post, jira

Wie an eine URL zu senden? (Erstellen Sie ein Problem mit JIRA API) - api, Ruhe, Post, Jira

Ich habe diese Antwort in gefunden Wie erstellt man ein Problem in Jira über Rest API?

POST zu dieser URL

https://<JIRA_HOST>/rest/api/2/issue/

Diese Daten:

{
"fields": {
"project":
{
"key": "<PROJECT_KEY>"
},
"summary": "REST EXAMPLE",
"description": "Creating an issue via REST API",
"issuetype": {
"name": "Bug"
}
}
}

In der erhaltenen Antwort werden ID und Schlüssel Ihrer AUSGABE angezeigt:

{"id":"83336","key":"PROJECT_KEY-4","self":"https://<JIRA_HOST>/rest/api/2/issue/83336"}

Vergessen Sie nicht die Autorisierung. Ich habe HTTP-Basic eins verwendet.

Ich glaube, beschreibt, wie Sie ein Problem erstellen, indem Sie es an eine URL senden.

Das Problem ist, ich habe keine Ahnung, wie dies tatsächlich umgesetzt wird.

Wie kann man eine URL POST?

Ist das das Gleiche wie PHP Post?

Wo werden die Daten aufbewahrt?

In welcher Sprache ist das alles geschrieben?

Es tut mir leid für eine so vage Frage, das ist alles so brandneu für mich, dass ich nicht einmal weiß, wo ich anfangen soll, dieses zu erforschen.

Vielen Dank!

Antworten:

0 für die Antwort № 1

Der Datenabschnitt ist im JSON-Format geschrieben. Hierbei handelt es sich lediglich um eine Textdarstellung einer Datenstruktur. Es ist für die Lesbarkeit eingerückt, könnte aber wirklich so dargestellt werden:

{"Felder": {"Projekt": {"Schlüssel": ""}, "Zusammenfassung": "REST-BEISPIEL", "Beschreibung": "Problem über die REST-API erstellen", "issuetype": {"Name": "Fehler"}}}

Um eine URL zu POSTEN und ein Problem zu erstellen, benötigen Sie eineserverseitiger Mechanismus, um sich zuerst bei Jira zu authentifizieren und dann die Daten über HTTP POST zu senden. In PHP können Sie cURL für POST oder GET oder file_get_contents () für GET verwenden. PHP cURL doc ist hier: http://php.net/manual/en/book.curl.php

Zum Beispiel eine PHP-Funktion zum Erstellen eines Jira-Problems (nach der Authentifizierung)

public function createIssue(){
/*
Issue types:
1:  Bug
3:  Task
5:  Sub-task
*/
$out = false;
$this->method = "POST";
$this->url = "http://10.50.25.64:8080/rest/api/2/issue/";
$this->data = array(
"fields" => array(
"project" => array("key" => $this->projectKey),
"summary" => $this->summary,
"environment" => $this->environment,
"description" => $this->description,
"issuetype" => array("id" => $this->issueType),
)
);
if (!empty($this->assignee)) $this->data["fields"]["assignee"] = $this->assignee;
if (!empty($this->labels)) $this->data["fields"]["labels"] = $this->labels;
foreach($this->customFields as $key => $val){
$this->data["fields"][$key] = $val;
}
$issue = $this->execCURL();
return $issue;
}

Die Funktion execCURL () nimmt das PHP-Array ($ this-> data) und sendet es mit PHP cURL.

Hoffe, irgendetwas hilft dabei!