我目前正在尝试建立一个与JIRA交谈的应用程序,以使用Atlassian的REST API解决服务台问题.我所面临的问题是,根据API,在"jira-users"和"service-desk-users"组中设置的新用户无法在Service Desk项目中创建问题.
我猜这是因为他们没有通过"Portal Access"安全级别登录.这是通过API以某种方式实现的,还是有任何其他建议的方法为Service Desk创建问题?
我试图通过谷歌登录使用python脚本验证jira.我正在使用jira python图书馆.
我尝试使用basic_auth但由于我的帐户是通过gmail注册的,因此失败并显示错误.
jira=JIRA(options,basic_auth=(values['USERNAME'],values['PASSWORD']));
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个使用jira进行身份验证的应用程序.我正在使用Jira Rest api.在文档中,它说使用相同的公钥和消费者密钥来创建文档中给出的应用程序链接.这很好,我可以创建访问令牌.但在提到Java代码这个,我不知道应该怎样为PRIVATE_KEY给出.我尝试了两种方法 -
length too long.我尝试了2048,1024,512,256和128位.一切都给出了同样的错误.申请链接:
消费者关键:硬编码消费者
消费者名称:硬编码消费者
公钥:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxZDzGUGk6rElyPm0iOua0lWg84nOlhQN1gmTFTIu5WFyQFHZF6OA4HX7xATttQZ6N21yKMakuNdRvEudyN/coUqe89r3Ae + rkEIn4tCxGpJWX205xVF3Cgsn8ICj6dLUFQPiWXouoZ7HG0sPKhCLXXOvUXmekivtyx4bxVFD9Zy4SQ7IHTx0V0pZYGc6r1gF0LqRmGVQDaQSbivigH4mlVwoAO9Tfccf + V00hYuSvntU + B1ZygMw2rAFLezJmnftTxPuehqWu9xS5NVsPsWgBL7LOi3oY8lhzOYjbMKDWM6zUtpOmWJA52cVJW6zwxCxE28/592IARxlJcq14tjwYwIDAQAB
申请链接:
消费者关键:硬编码消费者
消费者名称:硬编码消费者
公钥:MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0YjCwIfYoprq/FQO6lb3asXrx LlJFuCvtinTF5p0GxvQGu5O3gYytUvtC2JlYzypSRjVxwxrsuRcP3e641SdASwfr mzyvIgP08N4S0IFzEURkV1wp/IpH7kH41EtbmUmrXSwfNZsnQRE5SYSOhh + LcK2w yQkdgcMv11l4KoBkcwIDAQAB
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.simontuffs.onejar.Boot.run(Boot.java:340)
at com.simontuffs.onejar.Boot.main(Boot.java:166)
Caused by: java.lang.RuntimeException: Failed to obtain request token
at com.atlassian.oauth.client.example.AtlassianOAuthClient.getRequestToken(AtlassianOAuthClient.java:66)
at com.atlassian.oauth.client.example.JIRAOAuthClient.main(JIRAOAuthClient.java:52)
... 6 more
Caused by: net.oauth.OAuthProblemException: signature_invalid
at net.oauth.client.OAuthResponseMessage.toOAuthProblemException(OAuthResponseMessage.java:83)
at net.oauth.client.OAuthClient.invoke(OAuthClient.java:306)
at net.oauth.client.OAuthClient.invoke(OAuthClient.java:260)
at net.oauth.client.OAuthClient.getRequestTokenResponse(OAuthClient.java:190)
at …Run Code Online (Sandbox Code Playgroud) 我正在使用JIRA REST API从第三方应用程序访问JIRA.
我正在尝试查找JIRA中是否存在特定电子邮件地址的用户帐户.这同样适用于用户名,但不适用于电子邮件地址.
你能告诉我怎么做吗?我已经阅读了这个文档.
我使用以下xml将Testlink与Jira集成在一起
<issuetracker>
<username>xyz</username>
<password>#123</password>
<uribase>abc.net/projects/KEY/</uribase>
<uriapi>abc.net/rest/api/latest/</uriapi>
<uriview>abc.net/browse/</uriview>
<projectkey>KEY</projectkey>
<issuetype>1</issuetype>
</issuetracker>
Run Code Online (Sandbox Code Playgroud)
我能够将现有的jira问题链接到测试链接.
但是创建问题窗口包含版本字段,它不会让我输入任何值或不提供任何建议,如下图所示.
我试图在jira中创建版本,但它不起作用.
所以,
我应该为版本字段输入/配置什么值?
有什么用<issuetype>1</issuetype>?我们可以提供任何其他价值吗?
如何在创建问题窗口上链接新字段?
4. 版本与jira字段版本不匹配.
我面临与Search JQL相关的问题。我正在使用查询
(issuefunction in issuesInEpics('key = ABCD-24911') and issuetype=Feature)
Run Code Online (Sandbox Code Playgroud)
在Jira中,它返回一些记录,但是当我使用此查询时,JiraRestClient它不起作用,而是返回零记录。
以下查询工作正常:
issuefunction in issuesInEpics("resolution is not empty") and issuetype = Feature
Run Code Online (Sandbox Code Playgroud)
代码段:
String query="issuefunction in issuesInEpics('key = ABCD-24911') and issuetype=Feature";
Integer resultsLength=50,startAt=0;
JiraRestClient.getSearchClient().searchJql(query,resultsLength,startAt,null);
Run Code Online (Sandbox Code Playgroud)
我的Maven依赖关系:
<dependency>
<groupId>com.atlassian.jira</groupId>
<artifactId>jira-rest-java-client-api</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>com.atlassian.jira</groupId>
<artifactId>jira-rest-java-client-core</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>com.atlassian.fugue</groupId>
<artifactId>fugue</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>com.atlassian.httpclient</groupId>
<artifactId>atlassian-httpclient-spi</artifactId>
<version>0.17.0-m01</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我找到解决方案。
我正在使用JIRA REST API,我想查询处于"已解决"状态的所有问题.状态字段如下所示:
"status": {
"self": "https:\/\/jira.atlas.xx.com\/rest\/api\/2\/status\/5",
"description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.",
"iconUrl": "https:\/\/jira.atlas.xx.com\/images\/icons\/statuses\/resolved.png",
"name": "Resolved",
"id": "5",
"statusCategory": {
"self": "https:\/\/jira.atlas.xx.com\/rest\/api\/2\/statuscategory\/3",
"id": 3,
"key": "done",
"colorName": "green",
"name": "Complete"
}
}
Run Code Online (Sandbox Code Playgroud)
目前知道这样做的唯一方法是查询status = 5.最好使查询更直观,并使用字符串"已解决"状态查找所有问题.这是我正在使用的查询:
https://jira.atlas.xx.com/rest/api/2/search?jql=project=MYPROJECT and status=5 and fixVersion=15824&fields=id,key,description,status
Run Code Online (Sandbox Code Playgroud)
是否可以查询状态名称?
通过AJAX和REST API添加问题没有好运.我可以让它与Postmen合作,不幸的是,无法通过Ajax请求得到它.
我创建的JSON很好,也是post请求.issuetype是我自己创建的,使用Bug会产生同样的问题.查看创建的JSON对象,我的错误和我的代码:JSON对象(这是来自console.log的代码片段):

错误
0:"无法识别的标记'fils5poet5':在[来源:org.apache.catalina.connector.CoyoteInputStream@7b958ed2; line:1,column:21]中期待'null','true','false'或NaN↵"
jira = {
fields : {
project : {
key : "CIC"
},
summary : "test",
description: "test",
issuetype : {
name : "Sandbox item"
}
}
};
console.log(jira); //Also see image at top of this post.
// Submit to Jira api
$.ajax({
type : "POST",
dataType : "JSON",
url : configuration.api_url,
beforeSend: function (xhr) {
xhr.setRequestHeader ("Authorization", "Basic ItsAWrap!(itworks...)"),
xhr.setRequestHeader ("Content-Type", "application/json");
},
data : jira,
success : (function(response) {
//Do something
}})
Run Code Online (Sandbox Code Playgroud) 当我尝试通过Jira API REST创建一个问题时,我得到了一个500 Internal server error,我成功地从一个带有get-request的项目中得到了一个问题但是当我尝试使用post-request创建一个新问题时它不起作用我得到错误.
这是我的JavaScript代码:
createIssue: function(req, res) {
var Http = require('machinepack-http');
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
Http.sendHttpRequest({
url: '/rest/api/2/issue/',
baseUrl: 'https://jira.mydomain.com',
method: 'post',
data: {
"fields": {
"project": {
"key": "TEST"
},
"summary": "REST ye merry gentlemen.",
"description": "Creating of an issue using project keys and issue type names using the REST API",
"issuetype": {
"name": "Bug"
}
}
},
headers: {
"Authorization": "Basic YWxbG9wMS4zp0bWFuzeThYS5l1TIqaXoxOTg5554Jh"
},
}).exec({
serverError: function(result) {
res.send("server error" + JSON.stringify(result))
},
success: …Run Code Online (Sandbox Code Playgroud) 所以,我有两个不同的Jira实例(让它成为A和B),但它们相互连接.
我可以在A中的问题中手动创建链接,指向B实例中的问题.所以,我可以跟踪其他实例的问题.但是我如何使用API呢?
如果有一个实例,我将使用它:https://docs.atlassian.com/jira/REST/latest/#d2e5606
有没有办法确定应该把"外向"问题放在哪里?
作为一个补充 - 我不想使用remoteLink,因为它不一样(它只是一个原始链接,我需要一个真正的"连接"状态改变).
UPDATE
我添加了一个答案,可以在那里看到示例bash脚本
jira-rest-api ×10
jira ×9
java ×3
rest ×3
oauth ×2
ajax ×1
jira-plugin ×1
json ×1
node.js ×1
python ×1
python-jira ×1
rsa ×1
sails.js ×1
testing ×1
testlink ×1