Проблемы с функцией поиска в javascript lib - PullRequest
0 голосов
/ 17 октября 2018

Я использую библиотеку с именем jira -nector от npmjs , чтобы обрабатывать вызовы к Jira, однако у меня возникают проблемы согласованности между ним и пользовательским интерфейсом Jira или Axios (т.е. выполняется вызов вручную),Я использую разъем Jira, так как управлять oAuth намного проще и чертовски легко читать.Все вызовы выполняются с одной и той же учетной записи, будь то обычная аутентификация или oAuth.

У меня есть 2 разных JQL-запроса, с которыми я тестировал с самого начала, оба подтверждены, работают и работают.Если я использую эти запросы в Jira или через остальные API (используя axios и базовую аутентификацию), я получаю соответствующие ответы.Если я использую эти запросы с Jira-Connector.search.search (), один возвращает неправильное количество ответов, другой возвращает с ошибкой «Совершенно в убыток», поскольку они в буквальном смысле совпадают с JQL-запросами.

Сами запросы довольно похожи, просто они смотрят на разные компоненты, один из которых является полным разработчиком, а другой содержит несколько заявок поддержки.

var jira = new JiraClient({
  host: "test-jira.instance.foo",
  oauth: { ... }
});

jira.search.search(
  {
    jql:
      "(component in ('REDACTED') AND Sprint in openSprints() AND Sprint not in futureSprints())",
    maxResults: 10
  },
  (error, response) => {
    if (error) {
      console.log("Jira Connector REDACTED Error");
      console.log(error);
    } else {
      console.log("jira connector total REDACTED " + response.total);
    }
  }
);
jira.search.search(
  {
    jql:
      '(component in ("API Platform") AND Sprint in openSprints() AND Sprint not in futureSprints())',
    maxResults: 10
  },
  (error, response) => {
    if (error) {
      console.log("Jira Connector API Platoform Error");
      console.log(error);
    } else {
      console.log("jira connector total API Platform " + response.total);
    }
  }
);

axios({
  method: "post",
  url: "https://test-jira.instance.foo/rest/api/2/search",
  auth: { ... },
  headers: {
    "Content-Type": "application/json"
  },
  data: {
    jql:
      '(component in ("REDACTED") AND Sprint in openSprints() AND Sprint not in futureSprints())',
    maxResults: 10,
    fields: [ ... ]
  }
})
  .then(response => {
    console.log("axios REDACTED total " + response.data.total);
  })
  .catch(err => {
    console.log("Axios error on REDACTED");
    console.log(err.response.data);
  });

axios({
  method: "post",
  url: "https://test-jira.instance.foo/rest/api/2/search",
  auth: { ... },
  headers: {
    "Content-Type": "application/json"
  },
  data: {
    jql:
      '(component in ("API Platform") AND Sprint in openSprints() AND Sprint not in futureSprints())',
    maxResults: 10,
    fields: [ ... ]
  }
})
  .then(response => {
    console.log("axios API Platform total " + response.data.total);
  })
  .catch(err => {
    console.log("Axios error on API Platform");
    console.log(err.response.data);
  });

Изменил один из компонентов на УДАЛЕНО, поскольку он слишком специфичендля нашей компании, в то время как API Platform настолько универсален, насколько это возможно.Во всяком случае, вышесказанное возвращает это

Jira Connector API Platoform Error 
{ errorMessages:    [ 'The value
\'API Platform\' does not exist for the field \'component\'.' ],  errors: {} } 
axios API Platform total 52 
axios REDACTED total 73 jira
connector total REDACTED 60
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...