¿Cómo se PUEDE adjuntar a JIRA utilizando JIRA REST API y HttpWebRequest en C#?¿Cómo se PUEDE adjuntar a JIRA utilizando la API REST?
Desde el documentation under /rest/api/2/issue/{issueIdOrKey}/attachments:
POSTAL
Añadir uno o más archivos adjuntos a un problema.
Este recurso espera una publicación de varias partes. El tipo de medio de datos/formulario-datos se define en RFC 1867. La mayoría de las bibliotecas de clientes tienen clases que hacen que tratar con publicaciones de varias partes sea simple. Por ejemplo, en Java, la biblioteca de componentes Apache HTTP proporciona una MultiPartEntity que hace que sea sencillo enviar una POST de varias partes.
Para protegerse contra ataques XSRF, ya que este método acepta multipart/form-data, tiene protección XSRF en él. Esto significa que debe enviar un encabezado de X-Atlassian-Token: nocheck con la solicitud; de lo contrario, se bloqueará.
El nombre del parámetro multipart/form-data que contiene archivos adjuntos deben ser "archivo"
Un ejemplo sencillo para cargar un archivo llamado "miarchivo.txt" para emitir REST-123:
rizo -D- -u administrador: admin -X POSTAL -H "X-Atlassian-Token: nocheck" -F "[email protected]" http://myhost.test/rest/api/2/issue/TEST-123/attachments
tengo
foreach (JIRAAttachments attachm in attachments.attachments)
{
request = HttpWebRequest.Create(
logInformation.GetUri() + "/rest/api/2/issue/" + key + "/attachments"
) as HttpWebRequest;
request.Headers.Add("Authorization: Basic " + logInformation.GetEncodeAuthentication());
request.Method = "POST";
request.ContentType = "multipart/form-data";
request.Headers.Add("X-Atlassian-Token: nocheck [email protected]" + Path.GetFullPath(@"..\Attachments\" + attachm.filename));
request.KeepAlive = true;
request.Proxy = wp;
response = (HttpWebResponse)request.GetResponse();
Stream s = response.GetResponseStream();
FileStream fs = new FileStream(Path.GetFullPath(@"..\Attachments\" + attachm.filename), FileMode.Open);
byte[] write = new byte[256];
int count = fs.Read(write, 0, write.Length);
while (count > 0)
{
s.Write(write, 0, count);
count = fs.Read(write, 0, write.Length);
}
fs.Close();
s.Close();
response.Close();
}
pero devuelve un error 404 ...
Lo RESTO está usando? –
¿También puede proporcionar un enlace a su presupuesto de la documentación? –
[API REST JIRA 5.1.2] (http://docs.atlassian.com/jira/REST/latest/) –