Jira.CreateNewIssueData Method

Applies to TestComplete 15.40, last modified on March 25, 2022

The Jira.CreateNewIssueData method is only available if the external JiraSupport script extension is installed and enabled in TestComplete. To learn how you can do it, see Sending Issues to Jira From Script Tests.

Description

The Jira.CreateNewIssueData method creates an object that you use to specify data for a Jira issue of any type available in your Jira project. Then, you use the object to create the issue in your Jira project by using the Jira.PostIssue method.

Declaration

Jira.CreateNewIssueData(ProjectKey, IssueType)

ProjectKey [in]    Required    String    
IssueType [in]    Required    String    
Result The NewIssueData object.

Applies To

The method is applied to the following object:

Parameters

The method has the following parameters:

ProjectKey

The Jira project identifier.

IssueType

One of the issue types available in your Jira project.

Result Value

A NewIssueData object containing data that will be used by the PostIssue method to create a new issue in Jira.

Example

The code below demonstrates how you can use Jira.CreateNewIssueData method in your script tests:

JavaScript, JScript

function IssueToJira()
{
  // Log in to Jira
  Jira.Login("https://mycompany.atlassian/net/", "John.Smith@mycompany.com", "c40Mwj3PovmRTFZbmIiwB8C2");
  var priorityJSON = '{"name":"Low"}';
  // Create an object that defines task properties
  var jiraData = Jira.CreateNewIssueData("MyJiraProjectKey", "Task").
                setField("summary", "This is a sample task summary").
                setField("description", "Sample task description").
                setField("customfield_10700", "12.40.08").
                setFieldJSON("priority", priorityJSON);
  // Post the issue to Jira
  var key = Jira.PostIssue(jiraData);
  // Attach the desired file to the created issue
  Jira.PostAttachment(key, "C:\\temp\\MyFile.txt");
  var upPriorityJSON = '{"name":"High"}';
  // Create an object that defines updating task properties
  var upJiraData = Jira.CreateUpdateIssueData().setFieldJSON("priority", upPriorityJSON);
  // Update the issue
  Jira.UpdateIssue(key, upJiraData);
}

Python

def IssueToJira():
  # Log in to Jira
  Jira.Login("https://mycompany.atlassian/net/", "John.Smith@mycompany.com", "c40Mwj3PovmRTFZbmIiwB8C2")
  priorityJSON = '{"name":"Low"}'
  # Create an object that defines task properties
  jiraData = Jira.CreateNewIssueData("MyJiraProjectKey", "Task").\
                setField("summary", "This is a sample task summary").\
                setField("description", "Sample task description").\
                setField("customfield_10700", "12.40.08").\
                setFieldJSON("priority", priorityJSON);
  # Post the issue to Jira 
  key = Jira.PostIssue(jiraData)
  # Attach the desired file to the created issue
  Jira.PostAttachment(key, "C:\\temp\\MyFile.txt")
  upPriorityJSON = '{"name":"High"}'
  # Create an object that defines updating task properties
  upJiraData = Jira.CreateUpdateIssueData().setFieldJSON("priority", upPriorityJSON)
  # Update the issue
  Jira.UpdateIssue(key, upJiraData)

VBScript

Sub IssueToJira
  ' Log in to Jira
  Call Jira.Login("https://mycompany.atlassian/net/", "John.Smith@mycompany.com", "c40Mwj3PovmRTFZbmIiwB8C2")
  priorityJSON = "{""name"":""Low""}"
  ' Create an object that defines task properties
  Set jiraData = Jira.CreateNewIssueData("MyJiraProjectKey", "Task")._
                setField("summary", "This is a sample task summary")._
                setField("description", "Sample task description")._
                setField("customfield_10700", "12.40.08")._
                setFieldJSON("priority", priorityJSON)
  ' Post the issue to Jira
  key = Jira.PostIssue(jiraData)
  ' Attach the desired file to the created issue
  Call Jira.PostAttachment(key, "C:\\temp\\MyFile.txt")
  upPriorityJSON = "{""name"":""High""}"
  ' Create an object that defines updating task properties
  Set upJiraData = Jira.CreateUpdateIssueData().setFieldJSON("priority", upPriorityJSON)
  ' Update the issue
  Call Jira.UpdateIssue(key, upJiraData)
End Sub

DelphiScript

procedure IssueToJira;
var 
  priorityJSON, jiraData, key, upPriorityJSON, upJiraData;
begin
  // Log in to Jira
  Jira.Login('https://mycompany.atlassian/net/', 'John.Smith@mycompany.com', 'c40Mwj3PovmRTFZbmIiwB8C2');
  priorityJSON :='{"name":"Low"}';
  // Create an object that defines task properties
  jiraData := Jira.CreateNewIssueData('MyJiraProjectKey', 'Task').
                setField('summary', 'This is a sample task summary').
                setField('description', 'Sample task description').
                setField('customfield_10700', '12.40.08').
                setFieldJSON('priority', priorityJSON);
  // Post the issue to Jira
  key := Jira.PostIssue(jiraData);
  // Attach the desired file to the created issue
  Jira.PostAttachment(key, 'C:\temp\MyFile.txt');
  upPriorityJSON := '{"name":"High"}';
  // Create an object that defines updating task properties
  upJiraData := Jira.CreateUpdateIssueData().setFieldJSON('priority', upPriorityJSON);
  // Update the issue
  Jira.UpdateIssue(key, upJiraData);
end;

C++Script, C#Script

function IssueToJira()
{
  // Log in to Jira
  Jira["Login"]("https://mycompany.atlassian/net/", "John.Smith@mycompany.com", "c40Mwj3PovmRTFZbmIiwB8C2");
  var priorityJSON = '{"name":"Low"}';
  // Create an object that defines task properties
  var jiraData = Jira["CreateNewIssueData"]("MyJiraProjectKey", "Task")
                ["setField"]("summary", "This is a sample task summary")
                ["setField"]("description", "Sample task description")
                ["setField"]("customfield_10700", "12.40.08")
                ["setFieldJSON"]("priority", priorityJSON);
  // Post the issue to Jira
  var key = Jira["PostIssue"](jiraData);
  // Attach the desired file to the created issue
  Jira["PostAttachment"](key, "C:\\temp\\MyFile.txt");
  var upPriorityJSON = '{"name":"High"}';
  // Create an object that defines updating task properties
  var upJiraData = Jira["CreateUpdateIssueData"]()["setFieldJSON"]("priority", upPriorityJSON);
  // Update the issue
  Jira["UpdateIssue"](key, upJiraData);
}

To interact with Jira custom fields, use their identifiers instead of the field names. In the code above, it is customfield_10700.

To call this function from keyword tests, use the Run Code Snippet operation.

See Also

CreateNewBugData Method
Login Method
CreateUpdateIssueData Method
PostAttachment Method
PostIssue Method
UpdateIssue Method
Jira Object

Highlight search results