下面列出了hudson.model.Saveable#hudson.triggers.SCMTrigger 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* {@inheritDoc}
*/
@Override
public void onChange(Saveable o, XmlFile file) {
if (!(o instanceof Item)) {
// must be an Item
return;
}
SCMTriggerItem item = SCMTriggerItem.SCMTriggerItems.asSCMTriggerItem((Item) o);
if (item == null) {
// more specifically must be an SCMTriggerItem
return;
}
SCMTrigger trigger = item.getSCMTrigger();
if (trigger == null || trigger.isIgnorePostCommitHooks()) {
// must have the trigger enabled and not opted out of post commit hooks
return;
}
for (SCM scm : item.getSCMs()) {
if (scm instanceof GitSCM) {
// we have a winner
GiteaWebhookListener.register(item, (GitSCM) scm);
}
}
}
private String getUserId(Cause cause){
if (cause instanceof TimerTrigger.TimerTriggerCause) {
return "timer";
} else if (cause instanceof SCMTrigger.SCMTriggerCause) {
return "scm";
} else if (cause instanceof Cause.UserIdCause) {
String userName = ((Cause.UserIdCause) cause).getUserId();
if (userName != null) {
return userName;
}
} else if (cause instanceof Cause.UpstreamCause) {
for (Cause upstreamCause : ((Cause.UpstreamCause) cause).getUpstreamCauses()) {
String username = getUserId(upstreamCause);
if (username != null) {
return username;
}
}
}
return null;
}