Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 要在Pull请求中获得差异,需要在Bambol插件中注入哪个类?_Java_Api_Bamboo_Atlassian Plugin Sdk - Fatal编程技术网

Java 要在Pull请求中获得差异,需要在Bambol插件中注入哪个类?

Java 要在Pull请求中获得差异,需要在Bambol插件中注入哪个类?,java,api,bamboo,atlassian-plugin-sdk,Java,Api,Bamboo,Atlassian Plugin Sdk,我使用以下方法创建了项目: atlas-create-bamboo-plugin 我正在尝试在当前构建中获取差异(或提交列表)。有什么想法吗?这可能不是获取发行说明的最简单方法,但作为部署步骤的一部分,您可以在本版本和上一版本之间生成带有提交的URL。通过查询发行说明URL,可以获得每个提交消息 @Scanned public class ReleaseNoteTask implements DeploymentTaskType { private static final Stri

我使用以下方法创建了项目:

atlas-create-bamboo-plugin

我正在尝试在当前构建中获取差异(或提交列表)。有什么想法吗?

这可能不是获取发行说明的最简单方法,但作为部署步骤的一部分,您可以在本版本和上一版本之间生成带有提交的URL。通过查询发行说明URL,可以获得每个提交消息

@Scanned
public class ReleaseNoteTask implements DeploymentTaskType {

    private static final String BAMBOO_URL = "https://bamboo.url"; // URL to bamboo

    @Override
    public TaskResult execute(DeploymentTaskContext taskContext) {
        final TaskResultBuilder taskResultBuilder = TaskResultBuilder.newBuilder(taskContext);
        final BuildLogger buildLogger = taskContext.getBuildLogger();

        long versionId = taskContext.getDeploymentContext().getDeploymentVersion().getId();
        String deploymentProjectId = taskContext.getCommonContext().getEntityKey().toString().split("-")[0];

        String releaseNotesPath = BAMBOO_URL + "/deploy/viewDeploymentVersionCommitsSnippet.action?pageSize=-1&versionId=" + versionId + "&deploymentProjectId=" + deploymentProjectId + "&decorator=nothing&confirm=true&os_authType=basic";

        // You can use a library like jsoup to read HTML from releaseNotesPath and parse each commit message

        buildLogger.addBuildLogEntry("Release notes: " + releaseNotesPath);

        return taskResultBuilder.success().build();
    }
}