【问题标题】:Generate JIRA release note through a jenkins job without plugins通过没有插件的 jenkins 作业生成 JIRA 发行说明
【发布时间】:2014-11-28 05:19:21
【问题描述】:

我知道这可以通过JIRA-JENKINS plugin 实现。但我既不是JIRA 也不是Jenkins 的管理用户。因此我想知道是否可以通过jenkin 作业生成JIRA 发行说明,而无需将任何插件安装到JIRAJENKINS

【问题讨论】:

  • 如果您无权修改任一配置,您建议如何修改?您可以编写自己的解析器,查看源代码控制 cmets 的构建日志并编译提到的 JIRA 问题列表...

标签: jenkins jira release


【解决方案1】:

好的,我刚刚做了,这是我的解决方案(这是我在谷歌上找到的几个部分解决方案的混合):

在您的部署作业中,在作业末尾添加一个 shell 执行步骤,并将以下脚本的所有参数替换为正确的值

version=<your_jira_version> ##(for example 1.0.71)

project_name=<your_jira_project_key> ##(for example PRJ)

jira_version_id=$(curl --silent -u <jira_user>:<jira_password> -X GET -H "Content-Type: application/json" "https://<your_jira_url>/rest/api/2/project/${project_name}/versions" | jq "map(select(.[\"name\"] == \"$version\")) | .[0] | .id" | sed -e 's/^"//'  -e 's/"$//')

project_id=$(curl --silent -u <jira_user>:<jira_password> -X GET -H "Content-Type: application/json" "https://<your_jira_url>/rest/api/2/project/${project_name}" | jq .id | sed -e 's/^"//'  -e 's/"$//')

release_notes_page="https://<your_jira_url>/secure/ReleaseNote.jspa?version=${jira_version_id}&styleName=Text&projectId=${project_id}"

release_notes=$(curl --silent -D- -u <jira_user>:<jira_password> -X GET -H "Content-Type: application/json" "$release_notes_page")

rm -rf releasenotes.txt

echo "$release_notes" | sed -n "/<textarea rows=\"40\" cols=\"120\">/,/<\/textarea>/p" | grep -v "textarea" > releasenotes.txt

【讨论】:

  • 不错的解决方案!只需 2 条评论:1)project_id 请求可能是多余的,因为您可以从jira_version_idversion_id 中提取 id 2)echo "$release_notes" | sed -n "/&lt;textarea rows=\"40\" cols=\"120\"&gt;/,/&lt;\/textarea&gt;/p" | grep -v "textarea" &gt; releasenotes.txt 可以通过管道| grep -v -e '^$' 切割新线来增强
【解决方案2】:

您可以使用 maven-changes-plugin。您必须创建一个小型 maven 项目(不需要任何源)并在插件部分包含插件并进行必要的配置(参见此处:http://maven.apache.org/plugins/maven-changes-plugin/jira-report-mojo.html

然后您创建一个 Jenkins 作业,并执行您需要的 maven 目标(很可能只是“mvn changes:jira-report”)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多