package org.jenkinsci.plugins.github.status.sources;
import hudson.Extension;
import hudson.model.Descriptor;
import hudson.model.Run;
import hudson.model.TaskListener;
import org.jenkinsci.plugins.github.extension.status.GitHubStatusContextSource;
import org.kohsuke.stapler.DataBoundConstructor;
import javax.annotation.Nonnull;
import static com.coravy.hudson.plugins.github.GithubProjectProperty.displayNameFor;
/**
* Uses job name or defined in prop context name
*
* @author lanwen (Merkushev Kirill)
* @since 1.19.0
*/
public class DefaultCommitContextSource extends GitHubStatusContextSource {
@DataBoundConstructor
public DefaultCommitContextSource() {
}
/**
* @return context name
* @see com.coravy.hudson.plugins.github.GithubProjectProperty#displayNameFor(hudson.model.Job)
*/
@Override
public String context(@Nonnull Run<?, ?> run, @Nonnull TaskListener listener) {
return displayNameFor(run.getParent());
}
@Extension
public static class DefaultContextSourceDescriptor extends Descriptor<GitHubStatusContextSource> {
@Override
public String getDisplayName() {
return "From GitHub property with fallback to job name";
}
}
}