通过使用ruby击api获取所有的jira信息

时间:2019-07-17 10:30:45

标签: ruby jira-rest-api

我需要使用 ruby​​

中的rest api从特定的 Jira 中获取所有信息。

我尝试使用我的凭据和我的公司Jira URL,它工作正常,但是我想在没有凭据的情况下执行此操作,对此我不太了解,使用一些访问令牌可以做到,但是我不知道怎么办!

require 'rubygems'
require 'pp'
require 'jira-ruby'

options = {
 username: '',
 password: '', 
 site: '',
 context_path: '',
 auth_type: :basic,
 use_ssl: true
}

client = JIRA::Client.new(options)
projects = client.Project.all

# Show all projects
# issues = client.Project.find('ion_authn_engine').issues

projects.each do |project|
 puts "name: #{project.name}"
end

我得到了所有的吉拉车,但是我必须在这里使用我的凭据,可以通过其他方式完成。

2 个答案:

答案 0 :(得分:0)

您未指定您使用的是Jira Cloud还是Jira本地。

如果使用的是Cloud版本,则可以使用API tokens

如果您使用的是on-prem solution,则可以使用OAuth或除基本身份验证外的Cookie。

答案 1 :(得分:0)

有两种方法可以连接到Jira实例(如果算上您的个人登录名/密码,则为3种)。

  1. 使用基于帐户的API密钥
  2. 使用server-generic oauth application key

在确定哪个用例之前,请先考虑一下长期用例。

基于帐户的API

基于帐户的API密钥与您的帐户相关联(无论用于哪个帐户)。这意味着它将拥有您帐户的权限,包括无论他们将如何更改。如果您的烫发没有计划/协调就更改,则可能导致集成应用程序出现意外行为。

这也是理想的选择,因为帐户API密钥是进入Jira服务器的“灵活权限窗口”。如果您以后想要更改查询中可以处理的内容,那么这是一个很好的解决方案。也许您想创建一些具有不同权限的此类帐户,以便该应用程序可以动态查询数据而不会看到太多东西。

此外,您可以创建这些基于帐户的API密钥,而无需服务器的管理员。它们只是用户可以做的另一件事。

在哪里找到它

URL where to find personal API keys

可撤消密码

revokable password

服务器通用Oauth

这种连接始终可以不受限制地访问Jira实例的数据。这是一个主密钥,它的权限永远不会减少。

Oauth密钥需要由Jira site admin设置,因为它们会绕过所有其他权限级别。它们适合做BI数据链接,这听起来就是您在这里所做的。他们需要更多的精力来进行设置,但是可以长期预测。可以通过影响用户帐户的任何管理员操作删除或更改,这是没有错的。