且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何使用Java Rest API在Jira中创建问题

更新时间:2022-02-23 22:03:49

我将与您分享我用于使用IssueInputBuilder class在Jira中创建问题的代码:

I'll share with you a code i use to create issues in Jira using IssueInputBuilder class:

    JiraRestClient restClient;

    public boolean createIssue(IssueJiraDTO issueDTO) throws IOException{

            final IssueInputBuilder builder = new IssueInputBuilder(PROJECT_KEY, issueDTO.getIssueType(), issueDTO.getSummary());
            final ComponentRestClient componentClient = restClient.getComponentClient();

            try {

                openClient();

                //completamos los datos
                Component component = componentClient.getComponent(new URI(issueDTO.getComponent())).claim();
                builder.setComponents(component);
                builder.setFieldValue(CODCESCEFIELDID, issueDTO.getCodcesce());
                builder.setFieldValue(LINKCAFIELD, issueDTO.getLinkCA().trim());
                builder.setFieldValue(SECURITYFIELD, ComplexIssueInputFieldValue.with("id",  issueDTO.getSecurityLevel()));
                builder.setPriorityId(issueDTO.getPriority());
                builder.setDescription(issueDTO.getDescription());
                final IssueInput input = builder.build();

                // create issue
                final IssueRestClient client = restClient.getIssueClient();
                final BasicIssue issue = client.createIssue(input).claim();
                logger.info("Incidencia creada correctamente: "+ issue.getId());

            }catch(Exception e){
                logger.error("Error al crear la Issue en Jira: " + issueDTO.getCodcesce(), e);
            } finally {
                closeClient();
            }

            return true;
        }

openClient基本上可以做到:

openClient basically do:

restClient = new AsynchronousJiraRestClientFactory().createWithBasicHttpAuthentication(new URI(JIRA_URL), JIRA_ADMIN_USERNAME, JIRA_ADMIN_PASSWORD);

希望它对您有帮助.