Введение в графические API: основные понятия, свойства и применение
Графические API – это программные интерфейсы, которые позволяют разработчикам создавать и управлять графическими элементами в компьютерных приложениях, играх и визуализациях.
Введение в графические API: основные понятия, свойства и применение обновлено: 30 ноября, 2023 автором: Научные Статьи.Ру
Помощь в написании работы
Введение
Графические API (Application Programming Interface) – это набор программных инструментов и функций, предоставляемых разработчикам для создания и управления графическими элементами в компьютерных приложениях. Они позволяют программистам создавать и отображать графику, а также осуществлять взаимодействие с ней.
Нужна помощь в написании работы?
Мы — биржа профессиональных авторов (преподавателей и доцентов вузов). Наша система гарантирует сдачу работы к сроку без плагиата. Правки вносим бесплатно.
Что такое графические API
Графические API (Application Programming Interface) – это набор программных инструментов и функций, предоставляемых разработчикам для создания и управления графическими элементами и визуализацией в компьютерных приложениях.
Графические API позволяют программистам взаимодействовать с графическим аппаратным обеспечением компьютера, чтобы создавать и отображать графические объекты, такие как линии, прямоугольники, текст, изображения и 3D-модели. Они также предоставляют возможности для управления цветами, текстурами, освещением и другими атрибутами графики.
Графические API могут быть использованы для разработки различных типов приложений, включая компьютерные игры, визуализацию данных, компьютерное моделирование, виртуальную реальность и многое другое.
Существует несколько различных графических API, каждый из которых имеет свои особенности и возможности. Некоторые из наиболее популярных графических API включают OpenGL, DirectX, Vulkan и Metal.
Зачем нужны графические API
Графические API (Application Programming Interface) являются набором программных инструментов и функций, которые позволяют разработчикам создавать и управлять графическими элементами в приложениях. Они предоставляют удобный интерфейс для взаимодействия с графическим аппаратным обеспечением компьютера и позволяют создавать и отображать 2D- и 3D-графику, а также управлять ее свойствами.
Основная цель графических API – обеспечить разработчикам простой и эффективный способ создания и отображения графики в приложениях. Они предоставляют абстракцию над сложными операциями, связанными с графикой, и позволяют разработчикам сосредоточиться на создании визуальных элементов и эффектов, не вдаваясь в детали работы с аппаратным обеспечением.
Графические API также обеспечивают высокую производительность и оптимизацию графических операций. Они используют различные техники и алгоритмы для ускорения отрисовки графики, такие как буферизация, сжатие текстур, параллельная обработка и другие. Это позволяет создавать сложные и реалистичные визуальные эффекты, такие как тени, отражения, анимации и многое другое.
Графические API также играют важную роль в различных областях, таких как компьютерные игры, визуализация данных, компьютерное моделирование и виртуальная реальность. Они позволяют создавать интерактивные и привлекательные визуальные сцены, которые помогают передавать информацию и создавать уникальные пользовательские впечатления.
Кроме того, графические API обеспечивают кросс-платформенность и совместимость с различными операционными системами и аппаратным обеспечением. Они предоставляют единый интерфейс для работы с графикой, который может быть использован на разных платформах, таких как Windows, macOS, Linux, iOS и Android.
В целом, графические API являются важным инструментом для разработки графических приложений. Они позволяют разработчикам создавать и управлять графикой с помощью простого и эффективного интерфейса, обеспечивая высокую производительность и кросс-платформенность.
Основные типы графических API
Существует несколько основных типов графических API, которые используются для разработки графических приложений. Каждый тип имеет свои особенности и предназначен для определенных целей.
Низкоуровневые графические API
Низкоуровневые графические API предоставляют разработчикам прямой доступ к аппаратному обеспечению графической карты. Они предоставляют более низкий уровень абстракции и позволяют полностью контролировать процесс отрисовки графики. Примеры низкоуровневых графических API включают OpenGL и Vulkan.
Высокоуровневые графические API
Высокоуровневые графические API предоставляют более абстрактный и удобный интерфейс для работы с графикой. Они скрывают сложности низкоуровневого программирования и предоставляют разработчикам более простые и интуитивно понятные инструменты для создания графических приложений. Примеры высокоуровневых графических API включают DirectX и OpenGL ES.
Векторные графические API
Векторные графические API предназначены для работы с векторной графикой, которая представляет собой математические объекты, такие как линии, кривые и фигуры. Они позволяют создавать и манипулировать векторными объектами, а также применять к ним различные эффекты и стилизацию. Примеры векторных графических API включают SVG (Scalable Vector Graphics) и Canvas API.
Растровые графические API
Растровые графические API предназначены для работы с растровой графикой, которая представляет собой изображения, состоящие из пикселей. Они позволяют загружать, отображать и манипулировать растровыми изображениями, а также применять к ним различные фильтры и эффекты. Примеры растровых графических API включают Windows GDI (Graphics Device Interface) и Java AWT (Abstract Window Toolkit).
Каждый тип графических API имеет свои преимущества и недостатки, и выбор конкретного API зависит от требований проекта и предпочтений разработчика. Некоторые API могут быть более подходящими для игровой разработки, в то время как другие могут быть лучшим выбором для веб-разработки или создания пользовательских интерфейсов.
Примеры популярных графических API
OpenGL
OpenGL (Open Graphics Library) – это открытый стандартный API для создания 2D и 3D графики. Он широко используется в игровой разработке, визуализации данных, компьютерном моделировании и других областях. OpenGL предоставляет набор функций для работы с графическими объектами, текстурами, шейдерами и другими элементами графического процесса. Он поддерживается на различных платформах, включая Windows, macOS и Linux.
DirectX
DirectX – это набор API, разработанных Microsoft, для работы с графикой, звуком и вводом-выводом в Windows-приложениях. DirectX включает в себя несколько компонентов, включая Direct3D для 3D-графики, Direct2D для 2D-графики, DirectSound для звука и другие. DirectX обеспечивает высокую производительность и низкий уровень аппаратной абстракции, что делает его популярным выбором для игровой разработки на платформе Windows.
Vulkan
Vulkan – это открытый стандартный API для работы с графикой, разработанный Khronos Group. Он предоставляет низкоуровневый доступ к графическому аппаратному обеспечению и позволяет разработчикам полностью контролировать процесс рендеринга. Vulkan обеспечивает высокую производительность и масштабируемость, что делает его популярным выбором для игровой разработки и других приложений, требующих высокой производительности графики.
WebGL
WebGL (Web Graphics Library) – это API для создания 3D-графики веб-приложениями. Он основан на OpenGL ES и позволяет использовать графические возможности браузера для создания интерактивных 3D-сцен и визуализаций. WebGL поддерживается во многих современных браузерах и позволяет создавать веб-приложения с высококачественной графикой без необходимости установки дополнительных плагинов.
Canvas API
Canvas API – это часть HTML5 и позволяет создавать 2D-графику веб-приложениями. Он предоставляет набор функций для рисования линий, фигур, текста и изображений на холсте. Canvas API позволяет создавать интерактивные и анимированные графические элементы веб-страницы и широко используется для создания игр, визуализации данных и других приложений, требующих 2D-графики.
Основные свойства и возможности графических API
Рисование графических элементов
Одной из основных возможностей графических API является возможность рисования различных графических элементов, таких как линии, фигуры, текст и изображения. API предоставляет набор функций и методов для создания и настройки этих элементов.
Управление цветом и стилем
Графические API позволяют управлять цветом и стилем графических элементов. Вы можете выбрать цвет линии или заливки, настроить прозрачность, выбрать шрифт и его размер, а также настроить другие атрибуты, чтобы создать нужный визуальный эффект.
Трансформации и анимации
С помощью графических API вы можете применять различные трансформации к графическим элементам, таким как перемещение, масштабирование, поворот и искажение. Это позволяет создавать анимацию и динамически изменять внешний вид элементов.
Обработка событий
Графические API позволяют обрабатывать различные события, такие как клики мыши, нажатия клавиш и перемещения указателя. Вы можете назначить обработчики событий, чтобы реагировать на действия пользователя и изменять состояние графических элементов или выполнять другие действия.
Работа с изображениями и текстом
Графические API предоставляют возможности работы с изображениями и текстом. Вы можете загружать изображения, изменять их размер, настраивать прозрачность и применять другие эффекты. Также вы можете рисовать текст на холсте, настраивать его стиль и расположение.
Взаимодействие с другими технологиями
Графические API могут взаимодействовать с другими технологиями и API, такими как CSS, JavaScript, WebGL и другими. Это позволяет создавать более сложные и интерактивные графические приложения, используя различные возможности и инструменты.
Поддержка разных устройств и браузеров
Графические API обычно поддерживаются различными устройствами и браузерами, что позволяет создавать кросс-платформенные и кросс-браузерные графические приложения. Они обеспечивают совместимость с разными операционными системами и устройствами, что делает их универсальными инструментами для разработки.
Различия между разными графическими API
Уровень абстракции
Одно из основных различий между разными графическими API заключается в уровне абстракции, который они предоставляют разработчикам. Некоторые API, такие как OpenGL и Vulkan, предоставляют низкоуровневый доступ к графическому аппаратному обеспечению, позволяя полностью контролировать процесс отрисовки. Другие API, такие как DirectX и Metal, предоставляют более высокоуровневый интерфейс, который упрощает разработку, но может ограничивать некоторые возможности.
Поддерживаемые платформы
Каждое графическое API имеет свои особенности и ограничения в отношении поддерживаемых платформ. Некоторые API, такие как DirectX, являются проприетарными и поддерживаются только на определенных операционных системах, например, Windows. Другие API, такие как OpenGL и Vulkan, являются кросс-платформенными и могут работать на разных операционных системах, включая Windows, macOS и Linux.
Возможности и функциональность
Разные графические API предоставляют различные возможности и функциональность для разработчиков. Некоторые API могут иметь более широкий набор функций, таких как поддержка шейдеров, текстурирование, освещение и т. д. Другие API могут быть более ограниченными в своих возможностях. Важно выбрать API, который лучше всего соответствует требованиям и целям вашего проекта.
Язык программирования
Разные графические API могут использовать разные языки программирования для создания графических приложений. Например, OpenGL и Vulkan могут быть использованы с языками программирования, такими как C++ и Python. DirectX, с другой стороны, обычно используется с языком программирования C#. Выбор API может зависеть от вашего опыта и предпочтений в отношении языка программирования.
Экосистема и поддержка
Каждое графическое API имеет свою экосистему и сообщество разработчиков, которые предоставляют документацию, учебные материалы, инструменты и поддержку. Некоторые API, такие как DirectX, имеют широкую поддержку и большое сообщество разработчиков, что облегчает получение помощи и решение проблем. Другие API могут иметь более ограниченную экосистему и поддержку. При выборе API важно учитывать доступность ресурсов и поддержку, которые вам могут понадобиться в процессе разработки.
Применение графических API в различных областях
Игровая индустрия
Графические API широко используются в игровой индустрии для создания реалистичной графики и визуальных эффектов. Они позволяют разработчикам создавать трехмерные модели, текстуры, освещение, анимацию и другие визуальные элементы игр. Некоторые популярные графические API, такие как DirectX и OpenGL, предоставляют мощные инструменты для создания игровой графики.
Виртуальная и дополненная реальность
Графические API также играют важную роль в разработке виртуальной и дополненной реальности. Они позволяют создавать и отображать виртуальные миры, объекты и эффекты, которые взаимодействуют с реальным миром. Графические API обеспечивают отображение трехмерных моделей, обработку ввода с датчиков и создание эффектов виртуальной и дополненной реальности.
Компьютерная анимация и визуализация
Графические API используются в компьютерной анимации и визуализации для создания реалистичных и красочных изображений и видео. Они позволяют создавать и анимировать трехмерные модели, применять текстуры и освещение, создавать специальные эффекты и рендерить изображения и видео с высокой степенью детализации.
Научные и инженерные приложения
Графические API также применяются в научных и инженерных приложениях для визуализации данных и результатов исследований. Они позволяют создавать графики, диаграммы, графы и другие визуальные представления данных, что помогает исследователям и инженерам лучше понимать и анализировать свои данные.
Графический дизайн и реклама
Графические API используются в графическом дизайне и рекламе для создания привлекательных и эффективных визуальных материалов. Они позволяют создавать и редактировать изображения, применять фильтры и эффекты, работать с цветами и шрифтами, а также создавать анимацию и интерактивные элементы.
Медицина и научная визуализация
Графические API применяются в медицине и научной визуализации для создания трехмерных моделей органов и тканей, визуализации медицинских данных и результатов исследований. Они позволяют врачам и исследователям лучше понимать и анализировать сложные структуры и данные, а также помогают в обучении и общении с пациентами и коллегами.
Это лишь некоторые примеры применения графических API в различных областях. С развитием технологий и появлением новых API, возможности и области применения графических API продолжают расширяться.
Тенденции развития графических API
Графические API постоянно развиваются и совершенствуются, чтобы соответствовать растущим требованиям и возможностям компьютерной графики. Вот некоторые из основных тенденций развития графических API:
Увеличение производительности
Одной из основных тенденций развития графических API является увеличение производительности. С каждым новым поколением графических API разработчики стремятся улучшить производительность и оптимизировать работу с графическими ресурсами. Это позволяет создавать более сложные и реалистичные графические сцены, обрабатывать большие объемы данных и достигать более высокой скорости отображения.
Поддержка новых технологий
С развитием технологий и появлением новых возможностей в области компьютерной графики, графические API должны поддерживать эти новые технологии. Например, с появлением виртуальной и дополненной реальности, графические API должны обеспечивать возможность создания и отображения виртуальных объектов и сцен, а также взаимодействия с ними.
Расширение функциональности
Графические API постоянно расширяют свою функциональность, чтобы предоставлять разработчикам больше возможностей для создания разнообразных графических приложений. Новые версии API могут добавлять новые возможности, такие как поддержка новых типов шейдеров, улучшенные алгоритмы рендеринга, поддержка новых форматов текстур и многое другое.
Поддержка мобильных устройств
С развитием мобильных устройств и их возросшей вычислительной мощности, графические API должны быть адаптированы для работы на таких устройствах. Это включает оптимизацию производительности, поддержку мобильных графических процессоров и устройств ввода, а также адаптацию интерфейса API для удобства разработки мобильных приложений.
Улучшение инструментов разработки
Разработчики графических API постоянно работают над улучшением инструментов разработки, чтобы облегчить процесс создания графических приложений. Это может включать разработку новых интегрированных сред разработки (IDE), расширение функциональности существующих инструментов, создание библиотек и фреймворков для упрощения разработки и многое другое.
В целом, тенденции развития графических API направлены на улучшение производительности, поддержку новых технологий, расширение функциональности, адаптацию для мобильных устройств и улучшение инструментов разработки. Это позволяет разработчикам создавать более сложные и реалистичные графические приложения, а также улучшает опыт пользователей взаимодействия с ними.
Таблица с информацией о графических API
| Тип графического API | Описание | Примеры |
|---|---|---|
| Low-level API | Позволяет программисту полностью контролировать графический процессор и создавать оптимизированный код, но требует большего уровня экспертизы | OpenGL, Vulkan |
| High-level API | Абстрагирует сложности низкоуровневого программирования и предоставляет более простой интерфейс для разработчиков | DirectX, Metal |
| Web API | Предназначены для работы с графикой в веб-браузерах и позволяют создавать интерактивные веб-приложения | WebGL, Canvas API |
| Game API | Специализированные API для разработки компьютерных игр, обеспечивающие высокую производительность и возможности для создания сложной графики | Unity, Unreal Engine |
Заключение
Графические API являются важным инструментом в области компьютерной графики. Они позволяют разработчикам создавать и управлять графическими объектами, отображать их на экране и взаимодействовать с ними. Графические API имеют различные типы и свойства, которые определяют их функциональность и возможности. Применение графических API распространено в различных областях, таких как игровая индустрия, визуализация данных, виртуальная реальность и другие. В настоящее время наблюдается тенденция к развитию более мощных и эффективных графических API, которые позволяют создавать более реалистичные и интерактивные графические приложения.
Введение в графические API: основные понятия, свойства и применение обновлено: 30 ноября, 2023 автором: Научные Статьи.Ру
DirectX, Vulkan и другие графические API — что это и как работает?
Графика в компьютерных играх и приложениях стала ключевым компонентом для создания увлекательного и реалистичного визуального опыта. За этим стоит целый мир графических API (Application Programming Interface), предоставляющих разработчикам инструменты для создания потрясающих визуальных эффектов. В этой статье мы рассмотрим несколько популярных графических API, таких как DirectX и Vulkan, и поговорим о том, как они работают.
Графические API: Определение
Графические API — это набор программных инструкций и инструментов, предназначенных для взаимодействия между программным обеспечением (например, видеоиграми) и графическим оборудованием (видеокартами). Эти интерфейсы облегчают создание сложных визуальных эффектов, отображение графики на экране и управление графическими ресурсами.
DirectX
DirectX — это набор API, разработанный Microsoft, который предоставляет доступ к различным функциям, связанным с мультимедиа и графикой. DirectX используется не только для игр, но и для мультимедийных приложений, виртуальной реальности и других областей. Он включает в себя несколько компонентов, таких как Direct3D (графика), DirectSound (звук), DirectInput (управление вводом) и другие.
Как работает DirectX
DirectX взаимодействует с графическим оборудованием и драйверами через аппаратный уровень и предоставляет разработчикам удобный программный интерфейс для работы с графикой. Он обеспечивает стандартизацию взаимодействия с различными видеокартами, что упрощает разработку приложений для различных платформ.
DirectX работает в несколько этапов:
- Инициализация: Приложение инициализирует DirectX, указывая необходимые параметры, такие как разрешение экрана и формат изображения.
- Создание ресурсов: Разработчик создает ресурсы, такие как текстуры и буферы, которые будут использоваться для отображения графики.
- Отрисовка: После инициализации и создания ресурсов приложение использует API для отрисовки графики. Это включает передачу текстур, настройку эффектов и выполнение других операций рендеринга.
- Отображение: Готовая графика отображается на экране приложения.
Vulkan
Vulkan — это открытый стандарт графического API, разрабатываемый Khronos Group. Он был создан с учетом современных требований к производительности и многозадачности. Vulkan обеспечивает более низкий уровень абстракции по сравнению с DirectX, что дает разработчикам больший контроль над графическим процессом.
Как работает Vulkan
Vulkan предоставляет более прямой доступ к графическим ресурсам и ближе соответствует аппаратным возможностям видеокарт. Его работа включает следующие этапы:
- Инициализация: Подготовка к использованию Vulkan, включая создание экземпляра и устройства для взаимодействия с графическим оборудованием.
- Создание команд: Разработчик создает команды для отрисовки, передвижения данных и других операций непосредственно на видеокарте.
- Отправка команд: Команды отправляются на видеокарту для выполнения. Vulkan предоставляет высокую степень параллелизма, что особенно важно для современных многопроцессорных систем.
- Отображение: Графика отображается на экране.
DirectX vs. Vulkan: Как выбрать?
Выбор между DirectX и Vulkan зависит от конкретных потребностей проекта. DirectX предоставляет более высокий уровень абстракции, что может упростить разработку, особенно для начинающих разработчиков. Vulkan, с другой стороны, обеспечивает больший контроль и производительность, но требует более глубокого понимания графического программирования.
Другие графические API
Помимо DirectX и Vulkan, существует ряд других графических API, таких как OpenGL, Metal и WebGL. Каждый из них предназначен для различных платформ и задач, и выбор зависит от конкретных потребностей проекта.
Графические API высокого и низкого уровня: различия и принцип работы
Графические API-интерфейсы — это не часть оборудования, а часть программного обеспечения, но они необходимы для рендеринга графики, представленной на нашем экране, и без них связи между приложениями и GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР было бы невозможно. В этой статье мы доступно объясняем, что такое графические API, и развенчиваем некоторые мифы, связанные с ними.
Следует учитывать, что графические процессоры не выполняют программы, а выполняют список инструкций. Но откуда взялся этот список и как он попадает в GPU?

Что такое графический API?

Графические API-интерфейсы — это то, что позволяет приложениям взаимодействовать с графическим процессором, чтобы отмечать, как он должен отрисовывать следующий кадр или его часть. Концепция основана на абстракции, которая представляет собой создание на языке программирования того, что такое графический процессор. Чтобы понять концепцию абстракции, мы предположим, что вместо графического процессора у нас подключен автомат с газировкой.
API машины обновления будет библиотекой со следующими функциями: подбрасывать монету, возвращать сдачу, выбирать обновление и доставлять Refreshment таким образом, чтобы программа могла взаимодействовать, эта часть API вызывается Front-End, и то, что мы делаем с ним, — это список инструкций, в графическом процессоре этот список называется DisplayList или списком экранов.

Упомянутый список экранов считывается программным обеспечением, которое является не чем иным, как драйвером видеокарты, это преобразует список в микрокод, который может понять графический процессор, и копирует его в часть Оперативная память память, к которой всегда обращается графический процессор. Чтобы прочитать список экранов, скопируйте список во внутреннюю память командных процессоров и начните рендеринг сцены или ее части с помощью инструкций из списка экранов.
Этот процесс выполняется непрерывно в каждом кадре, который графический процессор обрабатывает и отправляет на экран, независимо от того, используете ли вы игровой ПК, смартфон или игровую приставку.
Какие графические API существуют сегодня?

- Вулкан: Заменяет OpenGL, он используется во всех типах операционных систем, который, как говорят, не зависит от платформы, но является основным API Google.
- Металл: Графический API Apple, используемый в macOS и специально оптимизированный для архитектуры графического процессора.
- DirectX: API Microsoft для Windows и Xbox был разделен на несколько версий в зависимости от платформы, но недавно они объединили его в единую версию.
- ГНМ/ГНМХ/ГНМ++: Графический API для консолей Sony PlayStation 4 и PlayStation 5, GNMX — это высокоуровневый API, GNM — это низкоуровневый API версии на PS4 и GNM ++ на PS5.
- НВН: Графический API Nintendo Switch, который используется исключительно в этой серии консолей.
- OpenGL: API, с которого все началось, первоначально известный как IrisGL и предназначенный для рабочих станций Silicon Graphics, превратился в API для ПК, консолей и более поздних смартфонов. Я дохожу до версии 4, которая является Vulkan — это ребрендинг OpenGL 5.
Вычисления против графики

Графические процессоры — это очень сложные процессоры, которые давно перестали быть просто игрушками для рендеринга видеоигр, сегодня они используются в таких областях, как искусственный интеллект или высокопроизводительные вычисления, что привело к эволюции графических API-интерфейсов и вышло за рамки графики.
В настоящее время приложения отправляют не один список, а несколько списков, один из которых является графикой, а остальные вычисления, где графический процессор используется для решения конкретных проблем, которые не имеют ничего общего с визуализацией графики, причем последние работают полностью асинхронно. и, следовательно, не зависит от списка экранов.
Например, может случиться так, что приложение графического дизайна использует мощность графического процессора для создания специального эффекта на фотографии только потому, что графический процессор лучше оборудован для решения этой проблемы, чем графический процессор. ЦП. Благодаря спискам вычислений вы можете сделать это, используя бесплатные ресурсы графического процессора для решения этих небольших проблем.
Графические API высокого и низкого уровня: чем они отличаются?

Когда мы говорим о низкоуровневом API, мы имеем в виду API, который работает близко к графическому процессору, который находится внизу стека, в то время как драйвер находится наверху, поэтому высокоуровневый API — это тот, который требует, чтобы драйвер генерировал дисплей. список. Поскольку определенные задачи драйвера не выполняются в высокоуровневом API, теоретически достигается то, что время выполнения списка экранов ЦП короче, это означает завершение кадра за меньшее количество миллисекунд или предоставление большего времени для улучшения графики тот самый кадр.
На самом деле неверно, что низкоуровневым API-интерфейсам не хватает драйвера, поскольку его можно читать и прослушивать в некоторых местах, но это намного проще и усложняет работу при выполнении некоторых важных задач в приложении, это позволит разработчикам максимально оптимизируйте синхронизацию каждого кадра, контролируя процесс создания списка экранов.
Однако во многих случаях для разработчиков может быть намного удобнее использовать высокоуровневый API из-за того, что дополнительное время разработки не окупается с финансовой точки зрения или просто потому, что выгода, которую можно получить за счет адаптации игры к API низкий уровень незаметен.
Миф о консоли и ПК

Существует миф о том, что, поскольку консоль имеет уникальное оборудование, это означает, что API-интерфейсы гораздо более оптимизированы, чем на ПК, где существует множество различных конфигураций, но на самом деле это драйвер, который мы установили, создает список экранов. Разница в том, что в консолях этот драйвер статичен и не получает обновлений производительности или изменений в течение всего коммерческого срока службы консоли.
REST API
Zephyr for Jira is now Zephyr Squad! Read more about this.
Zephyr for Jira is now Zephyr Squad! Read more about this.
Zephyr for Jira Cloud exposes its data via a REST API which allows you to access the data programmatically and build your own integrations. You can use the API to:
- Integrate with test automation tools.
- Integrate with continuous integration tools.
- Create extensive custom reports for testing.
- Integrate with business intelligence tools.
- Use the testing data for other purposes.
For example, you could build an integration that would create a test in a separate tool/system and add it to Zephyr for Jira Cloud or create an test execution cycle and update the status of a test execution run after its has been executed in an automation tool.
To create, run, and manage Test Automation jobs, use the Test Automation API instead.
Previously, to access Zephyr for Jira Cloud REST API you had to install an additional plugin (ZAPI). As of August 2020, the API is available out-of-the-box, and the ZAPI plugin is no longer needed.
Reference
Interactive API documentation is available at the following link, along with code examples for cURL, C#, JavaScript, Python, and other languages.
The API provides the following capabilities:
- Get information about users, projects, releases, tests, execution cycles.
- Create new tests and test execution cycles.
- Update tests, test execution status.
- Add attachments to existing execution cycles.
- Run ZQL queries and retrieve search results.
Base URL
The base URL for API calls is:
https://prod-api.zephyr4jiracloud.com/connect
For example, POST /public/rest/api/1.0/attachment means a POST request to https://prod-api.zephyr4jiracloud.com/connect/public/rest/api/1.0/attachment .
Authentication
The API uses JWT tokens for authentication. All requests must include the following headers:
zapiAccessKey: YOUR_ACCESS_KEY Authorization: JWT GENERATED_JWT_TOKEN
- YOUR_ACCESS_KEY is the access key found in the API Keys section of Zephyr for Jira Cloud.
- GENERATED_JWT_TOKEN is the JWT token generated for this specific request. To learn how to generate JWT tokens, see this page.
JWT tokens are generated using several pieces of information, including the API endpoint you want to call, and query parameters (if any). This means that to call multiple different endpoints or call the same endpoint but with different query parameters you must generate a new JWT token for each API call.
JSON requests
Most operations that accept a request body expect it in the JSON format.
POST and PUT request containing a JSON request body must include the Content-Type header: