當前位置: 首頁>>代碼示例>>Java>>正文


Java AbstractBuild.getUrl方法代碼示例

本文整理匯總了Java中hudson.model.AbstractBuild.getUrl方法的典型用法代碼示例。如果您正苦於以下問題:Java AbstractBuild.getUrl方法的具體用法?Java AbstractBuild.getUrl怎麽用?Java AbstractBuild.getUrl使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在hudson.model.AbstractBuild的用法示例。


在下文中一共展示了AbstractBuild.getUrl方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: perform

import hudson.model.AbstractBuild; //導入方法依賴的package包/類
@Override
public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener) {
    // The global configuration, used to fetch the instance url
    JenkinsLocationConfiguration globalConfig = new JenkinsLocationConfiguration();

    // Create a new webhook payload
    DiscordWebhook wh = new DiscordWebhook(this.webhookURL);

    if (this.webhookURL.isEmpty()) {
        // Stop the plugin from continuing when the webhook URL isn't set. Shouldn't happen due to form validation
        listener.getLogger().println("The Discord webhook is not set!");
        return true;
    }

    if (this.enableUrlLinking && (globalConfig.getUrl() == null || globalConfig.getUrl().isEmpty())) {
        // Disable linking when the instance URL isn't set
        listener.getLogger().println("Your Jenkins URL is not set (or is set to localhost)! Disabling linking.");
        this.enableUrlLinking = false;
    }

    if (this.sendOnStateChange) {
        if (build.getResult().equals(build.getPreviousBuild().getResult())) {
            // Stops the webhook payload being created if the status is the same as the previous
            return true;
        }
    }

    boolean buildStatus = build.getResult().isBetterOrEqualTo(Result.SUCCESS);
    wh.setTitle(build.getProject().getDisplayName() + " #" + build.getId());

    String descriptionPrefix;

    // Adds links to the description and title if enableUrlLinking is enabled
    if (this.enableUrlLinking) {
        String url = globalConfig.getUrl() + build.getUrl();
        descriptionPrefix = "**Build:** "
            + getMarkdownHyperlink(build.getId(), url)
            + "\n**Status:** "
            + getMarkdownHyperlink(build.getResult().toString().toLowerCase(), url);
        wh.setURL(url);
    } else {
        descriptionPrefix = "**Build:** "
                + build.getId()
                + "\n**Status:** "
                + build.getResult().toString().toLowerCase();
    }

    wh.setDescription(new EmbedDescription(build, globalConfig, descriptionPrefix, this.enableArtifactList).toString());
    wh.setStatus(buildStatus);

    if (this.enableFooterInfo) wh.setFooter("Jenkins v" + build.getHudsonVersion() + ", " + getDescriptor().getDisplayName() + " v" + getDescriptor().getVersion());

    try { wh.send(); }
    catch (WebhookException e) { e.printStackTrace(); }

    return true;
}
 
開發者ID:jammehcow,項目名稱:jenkins-discord,代碼行數:58,代碼來源:WebhookPublisher.java

示例2: EmbedDescription

import hudson.model.AbstractBuild; //導入方法依賴的package包/類
public EmbedDescription(AbstractBuild build, JenkinsLocationConfiguration globalConfig, String prefix, boolean enableArtifactsList) {
    String artifactsURL = globalConfig.getUrl() + build.getUrl() + "artifact/";
    this.prefix = prefix;
    this.changesList.add("\n**Changes:**\n");
    if (enableArtifactsList) this.artifactsList.add("\n**Artifacts:**\n");
    Object[] changes = build.getChangeSet().getItems();

    if (changes.length == 0) {
        this.changesList.add("\n*No changes.*\n");
    } else {
        for (Object o : changes) {
            ChangeLogSet.Entry entry = (ChangeLogSet.Entry) o;
            String commitID = (entry.getParent().getKind().equalsIgnoreCase("svn")) ? entry.getCommitId() : entry.getCommitId().substring(0, 6);

            this.changesList.add("   - ``" + commitID + "`` *" + entry.getMsg() + " - " + entry.getAuthor().getFullName() + "*\n");
        }
    }

    if (enableArtifactsList) {
        //noinspection unchecked
        List<Run.Artifact> artifacts = build.getArtifacts();
        if (artifacts.size() == 0) {
            this.artifactsList.add("\n*No artifacts saved.*");
        } else {
            for (Run.Artifact artifact : artifacts) {
                this.artifactsList.add(" - " + artifactsURL + artifact.getHref() + "\n");
            }
        }
    }

    while (this.getCurrentDescription().length() > maxEmbedStringLength) {
        if (this.changesList.size() > 5) {
            // Dwindle the changes list down to 5 changes.
            while (this.changesList.size() != 5) this.changesList.removeLast();
        } else if (this.artifactsList.size() > 1) {
            this.artifactsList.clear();
            this.artifactsList.add(artifactsURL);
        } else {
            // Worst case scenario: truncate the description.
            this.finalDescription = this.getCurrentDescription().substring(0, maxEmbedStringLength - 1);
            return;
        }
    }

    this.finalDescription = this.getCurrentDescription();
}
 
開發者ID:jammehcow,項目名稱:jenkins-discord,代碼行數:47,代碼來源:EmbedDescription.java


注:本文中的hudson.model.AbstractBuild.getUrl方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。