показать результаты авто тестов в JIRA как test result тест кейса

Здравствуйте!
Есть проект авто-тестов Selenium + Java. Включается каждую ночь, имеет свой собственный html репорт.
И есть JIRA в которой куча мануальных тестов. Так вот хочется сделать так , чтобы после ночного прогона результат шел в JIRA и под соответствующим тест кейсом оставлял тест резалт.
Думается мне что нужно использовать JIRA REST API, но не подскажете ли ресурс где такое расписано поподробней, а то одной документации JIRA REST API не хватает для сбора общей картины.

Не пробовали в саппорт жиры обратиться по данному вопросу?

Вот пример простого клиента, который умеет вытягивать статусы:

dependencies {
    compile("com.atlassian.jira:jira-rest-java-client-core:${jiraVersion}",
            "com.atlassian.fugue:fugue:${fugueVersion}",
            "io.vavr:vavr:${vavrVersion}",
            "one.util:streamex${streamexVersion}",
            "org.projectlombok:lombok:${lombokVersion}"
    )
}
public class JiraClient {

    private final JiraRestClient client;
    
    public JiraClient() {
        val factory = new AsynchronousJiraRestClientFactory();
        this.client = Try.of(() -> factory.createWithBasicAuthentication(new URI(JIRA_URL), JIRA_USERNAME, JIRA_PASSWORD))
            .getOrElseThrow(ex -> new IllegalArgumentException("Unable to connect to Jira", ex));
    }

    public Optional<IssueStatus> getIssueStatus(final String id) {
        return IssueStatus.of(getIssue(id).getStatus().getName());
    }

    public Issue getIssue(final String id) {
        return client.getIssueClient().getIssue(id).claim();
    }

    public void disconnect() {
        ofNullable(client).ifPresent(clt -> Try.run(clt::close));
    }

    @Getter
    @RequiredArgsConstructor
    public enum IssueStatus {
        ToDo("To Do"),
        InProgress("In Progress"),
        ReadyForQA("Ready for QA"),
        QAReview("QA Review"),
        Resolved("Resolved");
   
        private final String name;

        public static Optional<IssueStatus> of(final String name) {
            return StreamEx.of(IssueStatus.values())
                    .findFirst(val -> val.getName().equals(name));
        }
    }
}

Дальше уже - дело техники. API есть, отправная точка есть, дерзайте. :wink:

1 Like

Спасибо, посмотрим как получится :slight_smile:

Вот на эту штуку можете попробовать посмотреть:
https://confluence.xpand-it.com/display/XRAY

а что означает “И есть JIRA в которой куча мануальных тестов.”? Какой плагин для хранения тестов используется? Из самых популярных это как правило Xray или Zephyr. В зависимости от того что у вас нужно воспользоваться их API. Например, https://confluence.xpand-it.com/display/XRAY/REST+API
Для работы с самой Jira обратите внимание сюда Bitbucket

не используется никакой дополнительный плагин. В самой JiRA в каждом юзер стори добавлены мануальные тест кайсы, по которым стори тестируется. А потом при наличии времени эти тест кейсы автоматизируются, то есть работаем с самой JIRA

Пользовался Xray, там есть такой функционал через API

Уточните пожалуйста, как выглядят тест кейсы? Это сущность Jira (вроде Bug, UserStory и т.д), это комментарий, или это sub-сущность (вроде Sub-task)?

В случае, если это отдельная сущность Jira, у которой есть свой статус, и прочие атрибуты, можно и нужно использовать АПИ Jira (JIRA 7.12.0). Для тестов пишутся After методы, которые проставляют статус, или, если хорошо знаете TestNG, можно написать listener класс, который слушая выполнение тестов будет по апи проставлять им статус в зависимости от результата. Лично я за последний вариант. Для этого нужны IAnnotationTransformer и ITestListener интерфейсы TestNG. После написания лиснера включаете его в свой testNg.xml, а тестовые метды маркируете @Test(testName = “issueKey”).

Вероятно это Зефир тест кейсы?
тогда вам нужно ZAPI

С огромным опозданием отвечаю - Зефир не используем. Используем Test Management for JIRA/ Как понимаю это тоже плагин. Весь этот вопрос приостановился с переходом на другой проект, теперь попробую внедрить в новом )
Пытаюсь чтото сделать по этой инструкции
Product Support Portal | SmartBear Software ,
но вопрос в том что я не могу генерировать ключ доступа, так как в моей JIRA просто нет какого как в этом описании
Adaptavist Documentation
Обратилась к менеджеру с вопросом может мой доступ ограничен в JIRA на что получила ответ что могу использовать просто логин/пароль. Но мне нужен именно access token которым и является генерированный ключ. Я вообще в API не очень, а менеджер в америке и из него инфа трудно вытягивается, помогите кто чем может slight_smile:

ну так в чем проблема?
dev tools -> network
и смотрите как там плагин авторизовывается
скорее всего через куку после логина в жиру