¿cómo crear un problema en jira a través de rest api?


¿Es posible crear un problema en jira usando la api REST? No encontré esto en la documentación (no hay PUBLICACIONES para problemas), pero sospecho que es posible.

Un ejemplo de wget o curl sería bueno.

 30
Author: ymajoros, 2011-05-04

7 answers

PUBLICAR en esta URL

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

Estos datos:

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

En la respuesta recibida será ID y clave de su PROBLEMA:

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

No se olvide de la autorización. Usé HTTP-Basic one.

 28
Author: msangel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-03 18:23:49

La API REST de JIRA 5.0 contiene métodos para crear tareas y subtareas.

(En el momento de escribir este artículo, 5.0 aún no se ha publicado, aunque puede acceder a 5.0-m4 desde la página EAP. El doco para create-issue en 5.0-m4 es aquí ).

 9
Author: Matt Quail,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-07 11:17:44

A partir de la última versión publicada (4.3.3) no es posible utilizar la API REST . Puede crear problemas de forma remota utilizando la API de JIRA SOAP.

Vea esta página para un ejemplo de cliente Java.

 6
Author: luuuis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-05-05 04:03:43

**ponga este código (C#)**

        string postUrl = "https://netstarter.jira.com/rest/api/latest/issue";

        var httpWebRequest = (HttpWebRequest)WebRequest.Create(postUrl);
        httpWebRequest.ContentType = "application/json";
        httpWebRequest.Method = "POST";
        httpWebRequest.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("JIRAMMS:JIRAMMS"));

        using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
        {
            string json = @"{""fields"":{""project"":{""key"": ""JAPI""},""summary"": ""REST EXAMPLE"",""description"": ""Creating an issue via REST API 2"",""issuetype"": {""name"": ""Bug""}}}";

            streamWriter.Write(json);
            streamWriter.Flush();
            streamWriter.Close();

            var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
            {
                var result = streamReader.ReadToEnd();
            }




        }
 3
Author: Dumithu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-11 08:17:28

Para responder la pregunta más directamente, es decir, usando cURL.

Para usar cURL para acceder a la API REST de JIRA al crear un caso, use

curl -D- -u <username>:<password> -X POST --data-binary "@<filename>"  -H "Content-Type: application/json" http://<jira-host>/rest/api/2/issue/

Y guarde esto en su (por favor, edite el campo por su caso Jira) y guarde en la carpeta que llama al comando cURL anterior.

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

Esto debería funcionar. (tenga en cuenta a veces si se equivoca, posiblemente su contenido en el nombre del archivo es incorrecto).

 3
Author: Elye,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-12 06:34:28

Ahora puede usar REST + JSON para crear problemas.

Para comprobar qué campos json puede establecer para crear el problema, use: https://jira.host.com/rest/api/2/issue/createmeta

Para obtener más información, consulte la documentación rest de JIRA: https://docs.atlassian.com/jira/REST/6.2.4 /

 2
Author: mateuszb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-08 14:44:28

Para enviar los datos del problema con la API REST necesitamos construir una cadena JSON válida que comprenda los detalles del problema.

Un ejemplo básico de cadena JSON:

 {“fields” : { “project” : { “key” : “@KEY@” } , “issuetype” : { “name” : “@IssueType@” } } }

Ahora, establezca la conexión con JIRA y verifique la autenticación del usuario. Una vez establecida la autenticación, publicamos la API REST + cadena JSON a través del método XMLHTTP. Procesar la respuesta y el usuario íntimo sobre el éxito o el fracaso de la respuesta.

Así que aquí JiraService es un objeto XMLHTTP, algo al igual que esto agregará un problema, donde EncodeBase64 es una función que devuelve una cadena cifrada.

Public Function addJIRAIssue() as String
With JiraService
    .Open "POST", <YOUR_JIRA_URL> & "/rest/api/2/issue/", False
    .setRequestHeader "Content-Type", "application/json"
    .setRequestHeader "Accept", "application/json"
    .setRequestHeader "Authorization", "Basic " & EncodeBase64
    .send YOUR_JSON_STRING

    If .Status <> 401 Then
        addJIRAIssue = .responseText
    Else
        addJIRAIssue = "Error: Invalid Credentials!"
    End If

End With

Set JiraService = Nothing
End Sub

Puede consultar un ejemplo completo de VBA aquí

 1
Author: cyboashu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-07 09:43:49