live-fns: add Azure Pipelines (close #200) (#203)

* Add Azure Pipelines (close #200)

* Minor tweak
pull/204/head
Pig Fang 2018-11-23 15:49:42 +08:00 zatwierdzone przez Amio /
rodzic 49a86c48b6
commit 003c24e2c1
4 zmienionych plików z 38 dodań i 0 usunięć

Wyświetl plik

@ -217,6 +217,10 @@ module.exports = {
['rank', '/jsdelivr/rank/npm/lodash'],
['version', '/jsdelivr/v/npm/lodash']
],
'azure pipelines': [
['build', '/azure-pipelines/yarnpkg/yarn/Yarn Acceptance Tests'],
['build (branch)', '/azure-pipelines/yarnpkg/yarn/Yarn Acceptance Tests/azure-pipelines']
],
/* utilities */
'opencollective': [
['backers', '/opencollective/backers/webpack'],

Wyświetl plik

@ -282,6 +282,10 @@ Advanced usage (for badge makers):
['rank', '/jsdelivr/rank/npm/lodash'],
['version', '/jsdelivr/v/npm/lodash'],
],
'azure pipelines': [
['build', '/azure-pipelines/yarnpkg/yarn/Yarn Acceptance Tests'],
['build (branch)', '/azure-pipelines/yarnpkg/yarn/Yarn Acceptance Tests/azure-pipelines']
],
/* utilities */
'opencollective': [
['backers', '/opencollective/backers/webpack'],

Wyświetl plik

@ -3,6 +3,7 @@ module.exports = {
amo: require('./amo.js'),
apm: require('./apm.js'),
appveyor: require('./appveyor.js'),
'azure-pipelines': require('./azure-pipelines'),
badgesize: require('./badgesize.js'),
bundlephobia: require('./bundlephobia.js'),
'chrome-web-store': require('./chrome-web-store.js'),

Wyświetl plik

@ -0,0 +1,29 @@
const got = require('../got.js')
const cheerio = require('cheerio')
module.exports = async (organization, project, definition, branch = 'master') => {
const response = await got(`https://dev.azure.com/${organization}/${project}/_apis/build/status/${definition}?branchName=${branch}`, { json: false })
const contentType = response.headers['content-type']
if (!contentType.includes('image/svg+xml')) {
return {
subject: 'Azure Pipelines',
status: 'unknown',
color: 'grey'
}
}
const $ = cheerio.load(response.body)
const status = $('g[font-family] > text:nth-child(3)').text()
const color = {
'succeeded': 'green',
'partially succeeded': 'yellow',
'failed': 'red'
}[status]
return {
subject: 'Azure Pipelines',
status,
color
}
}