使用URLFetchApp和Google表格脚本的400错误的请求错误

时间:2018-10-14 21:39:20

标签: google-apps-script http-status-code-400 urlfetch

我有以下脚本,该脚本返回400错误请求。

function createIssue(e)
{

  var url = "https://jira.xxxx.com/rest/api/2/issue/";
  var data = {'fields': { 
              'project': {'key':'DWH'},
              'summary':'Resttest',
              'description':'test',
              'issuetype':{ 'name': 'Data Requests'},
              'components':[{ 'name':'Data Warehouse'}],
              'fixVersions':[{ 'name':'NA'}] }};

  var payload = JSON.stringify(data);
  Logger.log(payload);
  var headers = 
  { 
    'content-type': 'application/json',
    'Accept': 'application/json',
    'authorization': 'Basic xxxxxxxxxxxxxx'
  };

  var options = 
  { 
    'content-type': 'application/json',
    'method': 'POST',
    'muteHttpExceptions' : true,
    'headers': headers,
    'payload': payload
  };

  var response = UrlFetchApp.fetch(url, options);
  var rc = response.getResponseCode();
  var responseText = response.getContentText();
  var dataAll = JSON.parse(response.getContentText());
  var issueKey = dataAll.key
  Logger.log(dataAll)
 }

我已经通过cURL测试了实际的有效负载,并且可以正常工作,因此此脚本是否还缺少其他内容?

感谢您提供任何帮助。

最好, 尼尔

编辑:

The curl command :
curl -D- -H
"Authorization: Basic xxxxxxxxxxxx1bXBraW5zMDQh" -X POST --data
"{ """fields""": { """project""": { """key""": """DWH""" }, """summary""": 
"""REST test 11111.""", """description""": """test""", """issuetype""": { 
"""name""": """Data Requests""" }
,"""components""":[{ """name""":"""Data Warehouse"""}] , """fixVersions""": 
[{"""name""":"""NA"""}]} }" -H "Content-Type: application/json"
https://jira.xxxxxxxxx.com/rest/api/2/issue/

我正在做进一步的阅读,看来google apps脚本是从google服务器运行的。我的jira实例位于公司内部网的后面,因此无法从Google服务器访问。我还注意到useIntranet功能已弃用。有什么办法解决吗?

非常感谢, 尼尔

0 个答案:

没有答案