【问题标题】:How to use Google Apps Script to create issues in Redmine?如何使用 Google Apps 脚本在 Redmine 中创建问题?
【发布时间】:2014-11-27 05:41:22
【问题描述】:

我正在尝试使用 Google Apps 脚本在 Redmine 中创建问题,代码如下:

function create_issue() {
  var payload = {
    'project_id': 'helpdesk',
    'subject': 'This is a test ticket',
    'description': 'This is just a genius test ticket',
    'category_id': 1
  };
  var headers = {
    'X-Redmine-API-Key': '<myapikey>',
    'Content-Type': 'application/json'
  };
  var url = 'http://myredmine.com/issues.json';
  var options = {
    'method': 'POST',
    'headers': headers,
    'payload': payload,
    //uteHttpExceptions': true
  };
  var response = UrlFetchApp.fetch(url, options);
  Logger.log(response);
}

每次我运行该脚本时,它都会抛出以下异常:

执行失败:http://myredmine.com/issues.json 的请求失败 返回代码 422。截断的服务器响应:{“错误”:[“主题 不能为空"]}(使用 muteHttpExceptions 选项检查完整 响应)(第 25 行,文件“代码”)[0.645 秒总运行时间]

但如您所见,“主题”参数已经在有效负载中传递。我错过了什么?

谢谢,

三连

【问题讨论】:

    标签: google-apps-script redmine-api


    【解决方案1】:

    我发现了问题,我需要在payload中指出问题:

    function create_issue() {
      var issue = {
        "description": "Test ticket", 
        "subject": "Genius ticket"
      }
      var payload = {
        "issue": issue, 
        "key": "<myapikey>", 
        "project_id": "helpdesk",
      };
      payload = JSON.stringify(payload);
      var headers = {
        'X-Redmine-API-Key': '<myapikey>',
        'Content-Type': 'application/json'
      };
      var url = 'http://myredmine.com/issues.json';
      var options = {
        'method': 'POST',
        'headers': headers,
        'payload': payload,
        'contentType': 'application/json',
        //'muteHttpExceptions': true
      };
      var response = UrlFetchApp.fetch(url, options);
      Logger.log(response);
    }
    

    而且它有效!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-30
      相关资源
      最近更新 更多