我可以自动将Jira问题与合流页面链接吗

时间:2019-11-12 12:47:24

标签: groovy jira confluence

我正在尝试使用Scriptrunner Cloud与Jira和合流创建流程。 我正在尝试执行以下操作: 我想在Jira问题创建时使用posfunction scriptrunner自动创建一个合流页面,并且也要链接此页面并自动发布。

我已经用一些代码自动创建了,但是此代码不会链接页面并自动发出。 我正在使用以下代码:

def spaceKey = 'LTSE'

def result = get("/rest/api/3/issue/${issueKey}")
    .header('Content-Type', 'application/json')
    .asObject(Map)
if (result.status != 200) {
    return "Error retrieving issue ${result}"
}

def title = "${result.body.key} - ${result.body.fields.summary}"
def rootContent = "<h2>Description</h2><p>${result.body.fields.description}</p>"
def parent = createConfluencePage(title, spaceKey, rootContent, null)

result.body.fields.subtasks.forEach { subtask ->
    def subtaskResult = get("/rest/api/3/issue/${subtask.id}")
        .header('Content-Type', 'application/json')
        .asObject(Map)
    if (subtaskResult.status != 200) {
        logger.error("Error retrieving issue ${subtaskResult}")
    }

    def subtitle = "${subtask.key} - ${subtask.fields.summary}"
    def pageContent = "<h2>Description</h2><p>${subtaskResult.body.fields.description}</p>"

    createConfluencePage(subtitle, spaceKey, pageContent, parent)
}

String createConfluencePage(String pageTitle, String spaceKey, String pageContent, String parentPage) {
    def params = [
        type : "page",
        title: pageTitle,
        space: [
            key: spaceKey
        ],
        body : [
            storage: [
                value         : pageContent.toString(),
                representation: "storage"
            ]
        ]

    ]
    if (parentPage != null) {
        params["ancestors"] = [parentPage].collect { [id: parentPage.toString()] }
    }

    def pageResult = post('/wiki/rest/api/content')
        .header('Content-Type', 'application/json')
        .body(params)
        .asObject(Map).body

    if (pageResult.statusCode) {
        logger.error("Failed to create a new page. Confluence responded with error code: {}", pageResult.statusCode)
    } else {
        logger.info("Successfully created a new space with id: {}", pageResult)
    }
    pageResult.id
}

parent

我可以做些什么来自动链接吗? 请记住,我使用Cloud Jira和Confluence

1 个答案:

答案 0 :(得分:0)

是否可以使用Scriptrunner将内容添加到Confluence页面?如果是这样,只需将JIRA问题的链接添加到Confluence页面。这将自动转换为页面上的JIRA问题宏,并将创建与JIRA问题本身的链接。看到: https://www.atlassian.com/blog/confluence/link-jira-issues-to-confluence-pages-automatically

仅当您在JIRA和Confluence之间创建了应用程序链接时,此方法才有效: https://confluence.atlassian.com/adminjiracloud/using-applinks-to-link-to-other-applications-779295829.html