我正在尝试将一项工作参数化,但是我想检查触发当前工作的上一步。如何检查?
答案 0 :(得分:2)
在管道脚本中,您可以执行以下操作:
@NonCPS
def getAllCauses() {
currentBuild.rawBuild.getCauses().toString()
}
stage('print causes') {
echo getAllCauses()
}
这将打印出如下内容:
[hudson.model.Cause$UserIdCause@a05b0080]
如果您想获取更多详细信息,则必须将其从hudson.model.Cause
实例中删除。例如,下面的代码片段返回对构建“负责”的用户列表,如果用户对构建做出了贡献或导致构建(例如,通过登录Web UI),则该用户被视为“负责”然后点击“立即构建”按钮):
@NonCPS
def getResponsibleUsers() {
def build = currentBuild.rawBuild
def users = build.getCauses().collect() { cause->
def causeType = cause.getClass()
if (causeType == jenkins.branch.BranchIndexingCause) {
return build.changeSets.collect() { set->
set.collect { entry->
entry.getAuthor()
}
}
} else if (causeType == hudson.model.Cause$UserIdCause) {
return User.get(cause.getUserName())
} else {
return []
}
}
return users.flatten().unique()
}
stage('print responsible users') {
echo getResponsibleUsers()
}
答案 1 :(得分:1)
与jayhendren的答案类似,但我们使用do则简单一些:
library(igraph)
AM = matrix(c(0,1,0,1,0,1,1,0,0,1,0,1,0,0,1,0), ncol=4)
G1 = graph_from_adjacency_matrix(AM)
par(mfrow=c(1,2))
plot(G1, vertex.size=20, main="Original")
## This will change the node names
V(G1)$label = LETTERS[1:4]
plot(G1, vertex.size=20, main="With Labels")
这将返回:AM = matrix(c(0,1,0,1,0,1,1,0,0,1,0,1,0,0,1,0), ncol=4)
colnames(AM) = LETTERS[1:4]
rownames(AM) = LETTERS[1:4]
G2 = graph_from_adjacency_matrix(AM)
plot(G2, vertex.size=20)
例如,如果它是cron调度程序触发器。
从那里您只需要知道是什么原因导致您寻找或不寻找并搜索列表。