NewBugData.SetFieldJSON Method

Applies to TestComplete 15.40, last modified on July 05, 2022

Description

The NewBugData.SetFieldJSON method sets a new value for a Jira field by using the JSON format.

Declaration

NewBugData.SetFieldJSON(Name, Json)

Name [in]    Required    String    
Json [in]    Required    JSON string    
Result None

Applies To

The method is applied to the following object:

Parameters

The method has the following parameters:

Name

The name of the Jira field the value will be set for.

To set values for Jira custom fields, use their identifiers instead of the field names.

Json

The new value in the JSON format for the specified Jira field.

Result Value

None.

Remarks

You can use the SetField method to set field values as well.

Example

The code below demonstrates how you can use SetFieldJSON method in your script tests:

JavaScript, JScript

function IssueToJira()
{
  // Log in to Jira
  Jira.Login("https://mycompany.atlassian/net/", "[email protected]", "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/", "[email protected]", "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/", "[email protected]", "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/', '[email protected]', '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/", "[email protected]", "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

NewBugData Object

Highlight search results