Buenas tardes comunidad, estoy intenando crear una incidencia desde Excel pero el código no me funciona, no sé si me estoy complicando mucho, este es el código:
No sé si
¿Alguien ha logrado hacerlo o sabe de algún foro con información al respecto?
Sub CrearIncidenciaEnJira()
Dim jiraUsername As String
Dim jiraPassword As String
jiraUsername = "XXXXXXX"
jiraPassword = "XXXXXX"
Dim jiraUrl As String
Dim jsonData As String
' URL para crear incidencias en Jira
jiraUrl = "https://rotinsa.atlassian.net/rest/api/2/issue"
' Construir el JSON
jsonData = "{""fields"": {"
jsonData = jsonData & """project"": {""key"": """ & Cells(1, 1).Value & """},"
jsonData = jsonData & """issuetype"": {""name"": """ & Cells(2, 1).Value & """},"
jsonData = jsonData & """summary"": """ & Cells(3, 1).Value & ""","
jsonData = jsonData & """labels"": [""" & Cells(4, 1).Value & """],"
jsonData = jsonData & "}}"
Dim urlReq As Object
Set urlReq = CreateObject("MSXML2.ServerXMLHTTP.6.0")
' Configurar la solicitud
urlReq.Open "POST", jiraUrl, False
urlReq.setRequestHeader "Content-Type", "application/json"
urlReq.setRequestHeader "Authorization", "Basic " & Base64Encode(jiraUsername & ":" & jiraPassword)
' Enviar la solicitud
urlReq.send jsonData
' Manejar la respuesta
If urlReq.Status = 201 Then ' 201 indica que la creación fue exitosa
MsgBox "Incidencia creada exitosamente en Jira."
Else
MsgBox "Error al crear la incidencia en Jira." & vbCrLf & "Código de estado: " & urlReq.Status
End If
' Liberar el objeto URLReq
Set urlReq = Nothing
End Sub
Function Base64Encode(sText As String) As String
Dim arrData() As Byte
arrData = StrConv(sText, vbFromUnicode)
Base64Encode = Application.EncodeBase64(arrData)
End Function