使用 Sails JS 对 Jira REST API 进行身份验证
Authentication to the Jira REST API using Sails JS
Sails 新手,我想知道如何通过 Sails 访问我的 Jira 帐户,以便 create/edit/search Jira API REST 的一些问题。
我到处都找过这个,有人可以帮我吗?
这是我想做的一个例子:
module.exports = {
test: function(req, res)
var https = require('https');
var https = require('https'), options = {
host : "jira.company.com",
port : 80,
path : "/rest/api/2/search?jql=issue=TASC-1",
method : 'GET'};
https.request(options, function(response) {
var responseData = '';
response.setEncoding('utf8');
response.on('data', function(chunk){
responseData += chunk;
});
response.once('error', function(err){
// Some error handling here, e.g.:
res.serverError(err);
});
response.on('end', function(){
try {
// response available as `responseData` in `yourview`
res.locals.requestData = JSON.parse(responseData);
} catch (e) {
sails.log.warn('Could not parse response from options.hostname: ' + e);
}
res.view('client');
}); }).end();}}
但我的视图中没有任何内容,我认为这很正常,因为我没有进行身份验证。
您可以使用 /rest/auth/1/session 进行身份验证并获取 cookie:https://docs.atlassian.com/jira/REST/latest/#d2e4234
或者您可以通过 /rest/api/2/search 请求传递 http 基本身份验证 headers。
这是一个身份验证问题,为了解决这个问题,我只是在请求中添加 header 登录名和密码属性,格式为官方 documentation 解释的格式,所以我的代码变成:
module.exports = {
test: function(req, res)
var https = require('https');
var https = require('https'), options = {
host : "jira.company.com",
port : 443,
path : "/rest/api/2/search?jql=issue=TASC-1",
method : 'GET'
headers: {
"Authorization": "Basic YWxbG9wMS4zp0bWFuzeThYS5l1TIqaXoxOTg5554Jh"
}
};
https.request(options, function(response) {
var responseData = '';
response.setEncoding('utf8');
response.on('data', function(chunk){
responseData += chunk;
});
response.once('error', function(err){
// Some error handling here, e.g.:
res.serverError(err);
});
response.on('end', function(){
try {
// response available as `responseData` in `yourview`
res.locals.requestData = JSON.parse(responseData);
} catch (e) {
sails.log.warn('Could not parse response from options.hostname: ' + e);
}
res.view('client');
}); }).end();}}
Sails 新手,我想知道如何通过 Sails 访问我的 Jira 帐户,以便 create/edit/search Jira API REST 的一些问题。
我到处都找过这个,有人可以帮我吗?
这是我想做的一个例子:
module.exports = {
test: function(req, res)
var https = require('https');
var https = require('https'), options = {
host : "jira.company.com",
port : 80,
path : "/rest/api/2/search?jql=issue=TASC-1",
method : 'GET'};
https.request(options, function(response) {
var responseData = '';
response.setEncoding('utf8');
response.on('data', function(chunk){
responseData += chunk;
});
response.once('error', function(err){
// Some error handling here, e.g.:
res.serverError(err);
});
response.on('end', function(){
try {
// response available as `responseData` in `yourview`
res.locals.requestData = JSON.parse(responseData);
} catch (e) {
sails.log.warn('Could not parse response from options.hostname: ' + e);
}
res.view('client');
}); }).end();}}
但我的视图中没有任何内容,我认为这很正常,因为我没有进行身份验证。
您可以使用 /rest/auth/1/session 进行身份验证并获取 cookie:https://docs.atlassian.com/jira/REST/latest/#d2e4234
或者您可以通过 /rest/api/2/search 请求传递 http 基本身份验证 headers。
这是一个身份验证问题,为了解决这个问题,我只是在请求中添加 header 登录名和密码属性,格式为官方 documentation 解释的格式,所以我的代码变成:
module.exports = {
test: function(req, res)
var https = require('https');
var https = require('https'), options = {
host : "jira.company.com",
port : 443,
path : "/rest/api/2/search?jql=issue=TASC-1",
method : 'GET'
headers: {
"Authorization": "Basic YWxbG9wMS4zp0bWFuzeThYS5l1TIqaXoxOTg5554Jh"
}
};
https.request(options, function(response) {
var responseData = '';
response.setEncoding('utf8');
response.on('data', function(chunk){
responseData += chunk;
});
response.once('error', function(err){
// Some error handling here, e.g.:
res.serverError(err);
});
response.on('end', function(){
try {
// response available as `responseData` in `yourview`
res.locals.requestData = JSON.parse(responseData);
} catch (e) {
sails.log.warn('Could not parse response from options.hostname: ' + e);
}
res.view('client');
}); }).end();}}