You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.9 KiB
55 lines
1.9 KiB
5 years ago
|
const express = require('express')
|
||
|
const bodyParser = require('body-parser')
|
||
|
const axios = require('axios')
|
||
|
const app = express()
|
||
|
|
||
|
const Gitea = require('./gitea.js')
|
||
|
const gitea = new Gitea("https://yourgiteainstall.com/api/v1", 'apikey')
|
||
|
|
||
|
const ncUser = ""
|
||
|
const ncPass = ""
|
||
|
const ncApi = "https://yournextcloudinstall.com/index.php/apps/deck/api/v1.0"
|
||
|
const ncBoard = 2
|
||
|
|
||
|
|
||
|
app.use(bodyParser.json())
|
||
|
app.use(function(req, res, next) {
|
||
|
res.header("Access-Control-Allow-Origin", "*")
|
||
|
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
|
||
|
res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS, HEAD')
|
||
|
next()
|
||
|
})
|
||
|
|
||
|
// gitea only POSTs and only to a single URL. We'll need to parse json for more info on what's happening
|
||
|
app.post("/", (req, res) => {
|
||
|
let repo = req.body.repository.full_name
|
||
|
let issue = req.body.issue.number
|
||
|
let action = req.body.action
|
||
|
gitea.createLabel('Deck',"#0082C9", repo) // Double check existace of issue label, if not; create.
|
||
|
console.log(`${req.body.action} | [${req.body.repository.full_name}] #${req.body.issue.number}:${req.body.issue.title}`)
|
||
|
// console.log(`(${req.body.issue.url})`)
|
||
|
|
||
|
|
||
|
if(action == "label_updated" || action == "reopened" || action == "opened" || action == "label_cleared") {
|
||
|
gitea.labelStatus('Deck', repo, issue).then((set) => {
|
||
|
if(set) {
|
||
|
console.log("Label Deck detected")
|
||
|
gitea.comment(`Issue added to deck :-)`, repo, issue)
|
||
|
} else {
|
||
|
console.log("Label Deck not detected")
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
else if(action == 'closed'){
|
||
|
console.log('Issue closed')
|
||
|
}
|
||
|
else {
|
||
|
console.log(`Received unsupported action "${action}"`)
|
||
|
// console.log(JSON.stringify(req.headers, null,2))
|
||
|
// console.log(JSON.stringify(req.body, null,2))
|
||
|
}
|
||
|
res.send("okay") // generate some feedback for gitea
|
||
|
})
|
||
|
|
||
|
app.listen(80, () => console.log(`Aapie running on 80`))
|