Kanchikatkar
Kanchikatkar

Reputation: 19

setAssignee not working while adding Jira Issue

I created Jira issue by using jira library

<dependency>
    <groupId>com.atlassian.jira</groupId>
    <artifactId>jira-rest-java-client-app</artifactId>
    <version>5.2.1</version>
</dependency>

But while creating I am not able to set Assignee or AssigneeName for created JiraIssue.

This is my code

        BasicUser user = projectType.get().getLead();
        System.out.println(user.getDisplayName());
        builder = new IssueInputBuilder(project, issueType, issueDTO.getIssueSummery());
        builder.setProject(project);
        builder.setDescription(issueDTO.getIssueDescription());
        IssueInput input = builder.build();
        IssueRestClient client = restClient.getIssueClient();
        BasicIssue issue = client.createIssue(input).claim();
        //input = IssueInput.createWithFields(new FieldInput(IssueFieldId.ASSIGNEE_FIELD, ComplexIssueInputFieldValue.with("name", "Wraplive User")));
        builder.setPriorityId(1L);
        builder.setAssigneeName("Wraplive User");
        IssueInput issueInput = builder.build();
        client.updateIssue(issue.getKey(), issueInput);

I tried builder.setAssignee(user); // here it sets AssigneeName as Project lead which I don't require, I want to set another user or logged in username.

Can anyone help me where I am going wrong?

I tried with FieldInput which is commented in above code.

Upvotes: 0

Views: 634

Answers (1)

Kanchikatkar
Kanchikatkar

Reputation: 19

public JiraRestClient getJiraRestClient()
   {
    return new AsynchronousJiraRestClientFactory().createWithBasicHttpAuthentication(getJiraUri(), JIRA_USERNAME, JIRA_PASSWORD);
   }

public URI getJiraUri()
{
    return URI.create(JIRA_URL);
}       

//loadConnectionProperties(); restClient = getJiraRestClient();

    BasicProject project = null;
    IssueType issueType = null;
    IssueInputBuilder builder = null;
    try
    {
        final Iterable<BasicProject> projects = restClient.getProjectClient().getAllProjects().claim();

        for(BasicProject projectStr : projects)
        {
            if(projectStr.getKey().equalsIgnoreCase(PROJECT_KEY))
            {
                project = projectStr;
            }
        }

        Promise<Project> projectType = restClient.getProjectClient().getProject(PROJECT_KEY);

        for(IssueType type : (projectType.get()).getIssueTypes())
        {
            if(type.getName().equalsIgnoreCase(Issue_Type))
            {
                issueType = type;
            }
        }

        builder = new IssueInputBuilder(project, issueType, issueDTO.getIssueSummery());
        builder.setProject(project);
        builder.setDescription(issueDTO.getIssueDescription());
        builder.setPriorityId(1L);
        ***builder.setFieldInput(new FieldInput("assignee", ComplexIssueInputFieldValue.with("accountId", "557058:0fa57746-30a2-498c-9e34-9306679d0be7")));***

        IssueInput input = builder.build();

        IssueRestClient client = restClient.getIssueClient();
        BasicIssue issue = client.createIssue(input).claim();

        System.out.println(issue.getKey());
        LOG.error("Jira Created for  " + issueDTO.getIssueSummery() + " ID is :: " + issue.getKey());

    }
    catch(Exception e)
    {
        e.printStackTrace();
        return false;
    }

    return true;

Upvotes: 0

Related Questions