我正在使用Jira为我的敏捷方法项目组织用户故事.当我尝试关闭用户故事时,它会将状态显示为"已解决",而不是"已关闭".有人可以帮助我如何将用户故事状态更改为关闭?
请发布您的建议和帮助.
我试图从独立的OpenSocial(Atlassian Jira)小工具中使用以下REST资源.
我可以使用以下URL通过浏览器查询资源:
https://jira.atlassian.com/rest/api/latest/issue/JRA-9
我可以从我的开发机器发出相同的请求.它对我来说当然看起来像JSON ......但是,当我从我的小工具查询时,我得到了
GET 10.0.15.10:2990/jira/rest/api/latest/issue/CRD-1 415 Unsupported Media Type (32ms)
Run Code Online (Sandbox Code Playgroud)
响应以HTML格式返回.这是tomcat的响应主体:
<html><head><title>Apache Tomcat/6.0.20 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 415 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server refused this request because the request entity is in a format not supported by the requested resource for the requested method ().</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/6.0.20</h3></body></html>
Run Code Online (Sandbox Code Playgroud)
这是我的AJAX调用(它本质上是包含在Atlassian小工具JavaScript框架中的JQuery ): …
在我的Scrum工作流程中,当故事的开发完成后,故事将被转移到已解决状态,并且只有在完成QA之后,故事才会关闭.
由于QA团队与开发团队分开工作,当我跟踪开发团队进度时,我希望烧毁图表反映团队进度,因此任务应该被视为已在已解决状态下完成,而不仅仅是在已关闭状态.
是否可以有一个自定义模板/工作流来管理遵循Waterfall方法的项目,并使用JIRA来管理此类项目?
是否有插件或自定义默认流程的方法?
我正在使用JRJC jira-rest-java-client-2.0.0-m2.
我的目标是能够从问题中复制自定义字段并使用该值创建新问题.这通常很好:
Field trigger = issue.getFieldByName("Trigger");
if (trigger != null) {
newIssue.setFieldValue(trigger.getId(), trigger.getValue());
}
Run Code Online (Sandbox Code Playgroud)
(newIssue是IssueInputBuilder类型的对象;类型问题的问题)
但它不适用于下拉列表(单选),这会引发以下异常:
com.atlassian.jira.rest.client.domain.input.CannotTransformValueException: Any of available transformers was able to transform given value. Value is: org.codehaus.jettison.json.JSONObject: {"self":"http:\/\/localhost:8080\/rest\/api\/2\/customFieldOption\/10100","value":"SQL Statement","id":"10100"}
at com.atlassian.jira.rest.client.domain.input.ValueTransformerManager.apply(ValueTransformerManager.java:83)
at com.atlassian.jira.rest.client.domain.input.IssueInputBuilder.setFieldValue(IssueInputBuilder.java:135)
at com.sonydadc.lfiala.jira.CopyUtil.copy(CopyUtil.java:152)
at com.sonydadc.lfiala.jira.JiraUtil.copyTask(JiraUtil.java:90)
at com.sonydadc.lfiala.jira.Start.main(Start.java:13)
Run Code Online (Sandbox Code Playgroud)
直接设置值不起作用:
Field trigger = issue.getFieldByName("Trigger");
if (trigger != null) {
newIssue.setFieldValue(trigger.getId(), trigger);
}
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,会抛出此异常:
com.atlassian.jira.rest.client.RestClientException: Could not find valid 'id' or 'value' in the Parent Option object.
at com.atlassian.jira.rest.client.internal.async.AbstractAsynchronousRestClient$2.apply(AbstractAsynchronousRestClient.java:165)
at com.atlassian.jira.rest.client.internal.async.AbstractAsynchronousRestClient$2.apply(AbstractAsynchronousRestClient.java:159)
at com.atlassian.httpclient.api.ResponsePromiseMapFunction.apply(ResponsePromiseMapFunction.java:48)
at com.atlassian.httpclient.api.ResponsePromiseMapFunction.apply(ResponsePromiseMapFunction.java:12)
at com.atlassian.util.concurrent.Promises$Of$3.apply(Promises.java:285) …
Run Code Online (Sandbox Code Playgroud) 我从 SQL 表或函数中获取了 groovy 记录。例子;
String subeKodu = get_sube_kodu_bul(matcher[0][1])
private String get_sube_kodu_bul(String subeAdi) {
def sql = Sql.newInstance("jdbc:jtds:sqlserver://10.xx.xx.xx:1433/DBNAME", "usrname","pass", "net.sourceforge.jtds.jdbc.Driver")
subeAdi = subeAdi.trim()
def row = sql.firstRow("SELECT TOP 1 SUBE_KODU FROM TABLENAME WHERE SUBE_ADI= '${subeAdi}'")
row != null ? (String)row.SUBE_KODU : ''
}
Run Code Online (Sandbox Code Playgroud)
但我面临以下错误;
WARNING: In Groovy SQL please do not use quotes around dynamic expressions (which start with $) as this means we cannot use a JDBC PreparedStatement and so is a security hole. Groovy has worked around your …
Run Code Online (Sandbox Code Playgroud) 我知道这可以通过JIRA-JENKINS 插件实现。JIRA
但我既不是也不是 管理用户Jenkins
。因此我想知道是否可以JIRA
通过作业生成发行说明jenkin
而不安装任何插件JIRA
或JENKINS
?
假设您将使用像Jira这样的问题和项目跟踪软件来规划下一个即将到来的项目。
您决定使用像Laravel这样的 PHP Web 框架来开发遵循模型-视图-控制器 (MVC) 架构模式的 Web 应用程序。
您将问题编写为用户故事,添加一些细节,等等。
[用户特定 - 组件]
- 作为用户,我希望能够管理用户。
- 作为用户,我希望能够注册一个新用户。
- 作为用户,我希望能够删除现有用户。
...
[消息特定 - 组件]
- 作为用户,我希望能够进行对话。
- 作为用户,我希望能够向用户发送消息。
- 作为用户,我希望能够接收来自用户的消息。
- 作为用户,我希望能够在消息中使用表情符号。
- 作为用户,我希望能够将文件附加到消息中。
...
[特定任务 - 组件]
- 作为用户,我希望能够拥有一个任务板。
- 作为用户,我希望能够添加新任务。
- 作为用户,我希望能够为用户分配任务。
- 作为用户,我希望能够将任务标记为已完成。
...
你懂了?!目前没有问题。有些故事甚至可以分解成更小的故事,然后再分解成一些任务,然后是一些子任务。
让我们更进一步:您使用像github这样的源代码协作平台,结合Fish-Eye并决定使用智能提交来转换问题。您的问题和提交结构良好且易于跟踪。(美丽的想法)
如果您遵循框架 laravel 中的指南,您将有不同的任务需要跟进:
必须完成此任务,甚至更多任务才能确认组件已完成。我所说的组件是指上面定义的,比如用户、消息、任务。他们都有一些共同点,你会一遍又一遍地重复。但是您仍然希望使用完成问题所需的源代码填充问题。
User.php (模型关系)
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* Get the message record associated with the user. …
Run Code Online (Sandbox Code Playgroud) 我有这个回购, origin/master
我有一张JIRA票,X-123.我创建了一个名为X-123的分支,对它进行了一些提交,这些提交已被推送到origin/X-123
.然后是从origin/X-123到主分支的pull请求,它已被合并.
这项工作全部完成,除非事后更新,事实证明我所做的工作应该真的反对Y-789票.理想情况下我想:
现在我只能满足于最后一个; 有任何想法吗?由于所有的工作已经合并为主人,所以可能是在马用螺栓固定之后关上了门.我很想恢复我对X-123所做的所有工作,然后对Y-789重复一遍,但似乎这里应该有一些简单的步骤(这肯定不是那么不寻常吗?).
我正在使用JIRA-python库来处理JIRA跟踪系统.命令:jira_object.search_issues('project name')仅返回50个问题.似乎无法在python库规范中更改此上限.任何指针都会有所帮助.谢谢,Anjan
我正在尝试使用 jira for python 从 JIRA 加载数据,但是它让我失败并显示消息:
session() takes 1 positional argument but 2 were given
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
session() takes 1 positional argument but 2 were given
Run Code Online (Sandbox Code Playgroud)
这里没有复杂、简单的东西,也没有完整的回溯:
Traceback (most recent call last):
File "{{path}}/my_script.py", line 9, in <module>
jira = JIRA(options, auth=(user, password))
File "{{path}}/venv/lib/python3.9/site-packages/jira/client.py", line 496, in __init__
user = self.session()
File "{{path}}/venv/lib/python3.9/site-packages/jira/client.py", line 2980, in session
r = self._session.get(url)
File "{{path}}/venv/lib/python3.9/site-packages/jira/resilientsession.py", line 172, in get
return self.__verb("GET", url, **kwargs)
File "{{path}}/venv/lib/python3.9/site-packages/jira/resilientsession.py", line 143, in __verb
response = method(url, …
Run Code Online (Sandbox Code Playgroud) ? 有一个 groovy 脚本,用于检查屏幕上字段值列表中的值(如果存在)。
import com.atlassian.jira.component.ComponentAccessor;
import org.apache.log4j.Logger
import org.apache.log4j.Level
import com.atlassian.jira.user.ApplicationUser;
import java.lang.Object
def groupManager = ComponentAccessor.getGroupManager();
def customFieldManager = ComponentAccessor.getCustomFieldManager();
def eManagerCF = customFieldManager.getCustomFieldObjectByName("Ek Manager")
def dedManagerCF = customFieldManager.getCustomFieldObjectByName("Ded Manager")
def depManagerCF = customFieldManager.getCustomFieldObjectByName("Dep Manager ")
String eManager = issue.getCustomFieldValue(eManagerCF)
String dedManager = issue.getCustomFieldValue(dedManagerCF)
String depManager = issue.getCustomFieldValue(depManagerCF)
if (eManager) {
eManager = eManager.trim()
}
if (dedManager) {
dedManager = dedManager.trim()
}
if (depManager) {
depManager = depManager.trim()
}
cfValues['2. Onay'] ? .value == null && cfValues['1.Adim '] …
Run Code Online (Sandbox Code Playgroud) 我想为JIRA想出一个自定义插件.自定义插件支持JIRA仪表板中的git notes功能.
我的问题是,商业JIRA是否支持自定义JIRA插件?
是开发自定义JIRA插件的任何教程/最佳实践吗?