Applies to TestComplete 14.60, last modified on September 18, 2020

The Jira object 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 object provides methods for creating, updating Jira issues, and attaching the desired files to them directly from TestComplete script tests.

Members

Remarks

An an alternative, you can post issues to Jira on the Test Log page. For complete information, see Add Defect to JIRA Database Dialog.

Example

The code below demonstrates how you can use Jira object 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

Creating Issue Reports for Test Results
PostIssue Method
TestComplete Helper Objects

Highlight search results