我需要使用 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
我得到了所有的吉拉车,但是我必须在这里使用我的凭据,可以通过其他方式完成。
答案 0 :(得分:0)
您未指定您使用的是Jira Cloud还是Jira本地。
如果使用的是Cloud版本,则可以使用API tokens
如果您使用的是on-prem solution,则可以使用OAuth或除基本身份验证外的Cookie。
答案 1 :(得分:0)
有两种方法可以连接到Jira实例(如果算上您的个人登录名/密码,则为3种)。
在确定哪个用例之前,请先考虑一下长期用例。
基于帐户的API密钥与您的帐户相关联(无论用于哪个帐户)。这意味着它将拥有您帐户的权限,包括无论他们将如何更改。如果您的烫发没有计划/协调就更改,则可能导致集成应用程序出现意外行为。
这也是理想的选择,因为帐户API密钥是进入Jira服务器的“灵活权限窗口”。如果您以后想要更改查询中可以处理的内容,那么这是一个很好的解决方案。也许您想创建一些具有不同权限的此类帐户,以便该应用程序可以动态查询数据而不会看到太多东西。
此外,您可以创建这些基于帐户的API密钥,而无需服务器的管理员。它们只是用户可以做的另一件事。
这种连接始终可以不受限制地访问Jira实例的数据。这是一个主密钥,它的权限永远不会减少。
Oauth密钥需要由Jira site admin
设置,因为它们会绕过所有其他权限级别。它们适合做BI数据链接,这听起来就是您在这里所做的。他们需要更多的精力来进行设置,但是可以长期预测。可以通过影响用户帐户的任何管理员操作删除或更改,这是没有错的。