From 8b4bf19bdd21949611fe63bd1e69b954f409fab6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jakes=CC=8C?= Date: Fri, 19 Apr 2019 12:29:24 +0200 Subject: [PATCH] Add command to publish release on JIRA [MAILPOET-1884] --- RoboFile.php | 7 +++++++ tasks/release/JiraController.php | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/RoboFile.php b/RoboFile.php index c360f6c092..225307e57a 100644 --- a/RoboFile.php +++ b/RoboFile.php @@ -662,6 +662,13 @@ class RoboFile extends \Robo\Tasks { $slack_notifier->notify($version['name'], $changelog[1], $version['id']); } + public function releasePublishJira($version = null) { + $version = $this->nextReleaseVersion($version); + $jira_controller = $this->createJiraController(); + $jira_version = $jira_controller->releaseVersion($version); + $this->say("JIRA version '$jira_version[name]' was released."); + } + protected function validateVersion($version) { if (!\MailPoetTasks\Release\VersionHelper::validateVersion($version)) { $this->yell('Incorrect version format', 40, 'red'); diff --git a/tasks/release/JiraController.php b/tasks/release/JiraController.php index 33b73a90a7..fbcc13ebc8 100644 --- a/tasks/release/JiraController.php +++ b/tasks/release/JiraController.php @@ -85,6 +85,16 @@ class JiraController { return json_decode($response->getBody()->getContents(), true); } + function releaseVersion($version_name) { + $version = $this->getVersion($version_name); + $response = $this->http_client->put("version/$version[id]", [ + 'json' => [ + 'released' => true, + ], + ]); + return json_decode($response->getBody()->getContents(), true); + } + function getIssuesDataForVersion($version) { $changelog_id = self::CHANGELOG_FIELD_ID; $release_note_id = self::RELEASENOTE_FIELD_ID;