kopia lustrzana https://github.com/badgen/badgen.net
* feat(github): add statuses badge Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com> * chore: update index Signed-off-by: Charlike Mike Reagent <olsten.larck@gmail.com> * docs: update examples for github statuspull/162/head
rodzic
a42e6a60ab
commit
24828bea17
|
@ -70,6 +70,10 @@ Advanced usage (for badge makers):
|
|||
['latest stable release', '/github/release/babel/babel/stable'],
|
||||
['latest tag', '/github/tag/micromatch/micromatch'],
|
||||
['watchers', '/github/watchers/micromatch/micromatch'],
|
||||
['status', '/github/status/micromatch/micromatch'],
|
||||
['status (branch)', '/github/status/tunnckoCore/badgen-service/github-status'],
|
||||
['status (branch)', '/github/status/micromatch/micromatch/gh-pages'],
|
||||
['status (commit)', '/github/status/micromatch/micromatch/f4809eb6df80b'],
|
||||
['stars', '/github/stars/micromatch/micromatch'],
|
||||
['forks', '/github/forks/micromatch/micromatch'],
|
||||
['issues', '/github/issues/micromatch/micromatch'],
|
||||
|
|
|
@ -37,6 +37,8 @@ module.exports = async (topic, ...args) => {
|
|||
return downloads(args[0], args[1], '/latest')
|
||||
case 'release':
|
||||
return release(...args)
|
||||
case 'status':
|
||||
return singleStatus(...args)
|
||||
case 'dependents-repo':
|
||||
return dependents('REPOSITORY', ...args)
|
||||
case 'dependents-pkg':
|
||||
|
@ -67,6 +69,43 @@ const queryGithub = query => {
|
|||
}).then(res => res.body)
|
||||
}
|
||||
|
||||
const singleStatus = async (user, repo, ref = 'master') => {
|
||||
const statuses = await restGithub(`repos/${user}/${repo}/commits/${ref}/status`)
|
||||
|
||||
switch (statuses.state) {
|
||||
case 'success':
|
||||
return {
|
||||
subject: 'status',
|
||||
status: 'success',
|
||||
color: 'green'
|
||||
}
|
||||
case 'error':
|
||||
return {
|
||||
subject: 'status',
|
||||
status: 'error',
|
||||
color: 'red'
|
||||
}
|
||||
case 'failure':
|
||||
return {
|
||||
subject: 'status',
|
||||
status: 'failure',
|
||||
color: 'red'
|
||||
}
|
||||
case 'pending':
|
||||
return {
|
||||
subject: 'status',
|
||||
status: 'pending',
|
||||
color: 'orange'
|
||||
}
|
||||
default:
|
||||
return {
|
||||
subject: 'status',
|
||||
status: 'unknown',
|
||||
color: 'grey'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const release = async (user, repo, channel) => {
|
||||
const releases = await restGithub(`repos/${user}/${repo}/releases`)
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue