Копирование версий из одного проекта в другой - malikovalibek/groovyForJira GitHub Wiki

Обзор Массовое копирование всех версий из исходного проекта в целевой проект.

пример Как руководитель проекта, я хочу применять одни и те же версии к разным проектам. Я могу скопировать все версии, существующие в исходном проекте, в целевой проект.

Хорошо знать Версии с таким именем еще не должны существовать в конечном проекте. Вы можете точно настроить версии и данные для копирования на основе определенной логики. Проверьте свойство версий на остальные API документации . С участием ScriptRunner для Jira от Adaptavist

Created 8 months ago, Updated 4 months ago

Cloud code

Requirements Jira Jira

// Specify the master project to get the versions form final sourceProjectKey = "SRC"

// Specify the key of the project to copy the version to final destinationProjectKey = "DST"

// Get the project versions def versions = get("/rest/api/2/project/${sourceProjectKey}/versions") .header('Content-Type', 'application/json') .asObject(List).body as List

// Loop over each version returned and create a version in the new project def successStatusByVersionId = versions.collectEntries { version -> // Copy the version and specify the destination project def versionCopy = version.subMap(['name', 'description', 'archived', 'released', 'startDate', 'releaseDate', 'project']) versionCopy.project = destinationProjectKey

// Make the rest call to create the version
logger.info("Copying the version with id '${version.id}' and name '${version.name}'")
def createdVersionResponse = post("/rest/api/2/version")
    .header("Content-Type", "application/json")
    .body(versionCopy)
    .asObject(Map)

// Log out the versions copied or which failed to be copied
if (createdVersionResponse.status == 201) {
    logger.info("Version with id '${version.id}' and name '${version.name}' copied. New id: ${createdVersionResponse.body.id}")
} else {
    logger.warn("Failed to copy version with id '${version.id}' and name '${version.name}'. ${createdVersionResponse.status}: ${createdVersionResponse.body}")
}

[(version.id): (createdVersionResponse.status == 201)]

}

"Status by source version id (copied?): ${successStatusByVersionId}"

⚠️ **GitHub.com Fallback** ⚠️