st-client2
v1.0.0
Published
Yandex StarTrek API Client
Downloads
1
Readme
Внимание!
Репозиторий переехал в монорепозиторий фронтенда и заморожен.
StarTrek API Client
Клент для API стартрека. Легкий, простой, прозрачный. Постороен на основе Promise.
Install
npm install st-client --registry=http://npm.yandex-team.ru
Usage
var client = require('st-client').init({ token: '<token>' });
client.getIssue('WEATHER-3300')
.then(function (issue) {
console.log('%s – %s', issue.key, issue.summary)
});
client.issues({ query: 'Queue: WEATHER Key: WEATHER-3300, WEATHER-3301, WEATHER-3302' })
.then(function (issues) {
issues.forEach(function (issue) {
console.log('[%s] %s – %s', issue.status.key, issue.key, issue.summary);
})
});
API
init(options)
Создает клиента.
options
Объект с опциями
options.token
Type: String
OAuth токен. Подробнее в вики.
options.sessionId
Type: String
Значение куки Session_id. Подробнее в вики.
options.tvm
Type: Object
Значение сервисного и клиетского tvm2-тикетов. Объект вида { serviceTicket, clientTicket }. Подробнее в вики.
options.lang
Type: String
Default: ru-RU, ru
Язык. Подробнее в вики.
options.endpoint
Type: String
Default: http://st-api.yandex-team.ru/v2
Адрес API.
options.clientOptions
Type: object
Опции для http-клиента got. Позволяют переопределить, например, таймаут или настройки резолвинга.
Список методов
Методы повторяют структуру API, поэтому описание смотрите на вики
- client.issues(params)
- client.getIssue(id, params)
- client.createIssue(data)
- client.updateIssue(id, data)
Воркфлоу
- client.issueTransitions(issueId)
- client.executeTransition(issueId, transitionId, data)
- client.issueComments(issueId)
- client.createIssueComment(issueId, data)
- client.getIssueComment(issueId, commentId)
- client.updateIssueComment(issueId, commentId, data)
- client.deleteIssueComment(issueId, commentId)
- client.issueLinks(issueId)
- client.createIssueLink(issueId, data)
- client.getIssueLink(issueId, linkId)
- client.updateIssueLink(issueId, linkId, data)
- client.deleteIssueLink(issueId, linkId)
- client.issueRemoteLinks(issueId)
- client.uploadAttachment(data, query)
- client.downloadAttachment(issueId, attachmentId, attachmentName)
- client.issueAttachments(issueId)
- client.issueChangelog(issueId, params)
Аттрибуты тикета
- client.issueTypes()
- client.getIssueType(id)
- client.createIssueType(data)
- client.updateIssueType(id, data)
- client.priorities()
- client.getPriority(id)
- client.createPriority(data)
- client.updatePriority(id, data)
- client.statuses()
- client.getStatus(id)
- client.createStatus(data)
- client.updateStatus(id, data)
- client.resolutions()
- client.getResolution(id)
- client.createResolution(data)
- client.updateResolution(id, data)
Пользователи
- client.users()
- client.getUser(login)
- client.queues(params)
- client.getQueue(id, params)
- client.createQueue(data)
- client.updateQueue(id, data)
- client.deleteQueue(id)
Атрибуты очереди
- client.queueComponents(queueId)
- client.queueVersions(queueId)
- client.queueProjects(queueId)
- client.getBoard(id)
Спринты
- client.boardSprints(boardId)
Contribution
Пожалуйста, прочитайте contribution guide перед созданием issue или отправкой пулл-реквеста.
Tests
$ npm run lint
$ npm test