Jenkins插件代码,应该在Jenkins中运行任何类型的作业之前执行

Jenkins插件代码,应该在Jenkins中运行任何类型的作业之前执行,jenkins,jenkins-plugins,Jenkins,Jenkins Plugins,我是Jenkins插件开发的新手。我正在尝试编写一个插件,它应该在Jenkins中运行任何多配置类型的作业之前执行。 在这个插件中,我想写一些规则来检查用户在提交作业时选择了哪些配置参数,根据选择的参数,我想决定是允许作业运行还是限制作业。 应该向用户显示无法在控制台输出中运行该作业的原因。 有人知道我需要扩展哪个类,或者需要实现哪个接口才能运行Jenkins作业吗?您可以查看允许groovy脚本选择要运行的矩阵组合的。我认为如果你的脚本抛出异常,它会停止构建 对于后台,多配置项目运行控制作业或

我是Jenkins插件开发的新手。我正在尝试编写一个插件,它应该在Jenkins中运行任何多配置类型的作业之前执行。 在这个插件中,我想写一些规则来检查用户在提交作业时选择了哪些配置参数,根据选择的参数,我想决定是允许作业运行还是限制作业。 应该向用户显示无法在控制台输出中运行该作业的原因。 有人知道我需要扩展哪个类,或者需要实现哪个接口才能运行Jenkins作业吗?

您可以查看允许groovy脚本选择要运行的矩阵组合的。我认为如果你的脚本抛出异常,它会停止构建

对于后台,多配置项目运行控制作业或flyweight,该作业运行SCM阶段,然后启动所有实际组合。此插件在flyweight SCM签出后运行

如果没有别的,这将给你一个工作插件开始

免责声明:我写的这个插件是我所需要的 该插件支持两种阻止作业的方法:

基于另一个项目上次运行的结果

基于当前项目最后一次运行的结果

在该插件中,BlockQueueItemTaskDispatcher.java扩展了Jenkin的QueueTaskDispatcher,为我们提供了Jenkins逻辑的挂钩,以允许或阻止队列中的作业运行。 我使用这个插件作为开发新插件的起点,该插件允许我们根据选择的参数和当前时间限制项目。最终目标是限制生产迁移在白天运行。
重写QueueTaskDispatcher的isBlocked方法将访问hudson.model.Queue.Item实例作为参数提供给我。然后,我使用Item实例的getParams方法来访问用户在运行时选择的构建参数。已从中解析生命周期值。检查当前时间。如果生命周期是生产,当前时间是白天,则通过从isBlocked方法返回非null CauseOfBlockage来限制作业。如果该条件为false,则返回的CauseOfBlockage为null,允许队列作业运行。

我认为该插件不会有帮助。让我详细说明我的问题。这是一个参数化的构建。具有选择参数-生命周期有效值为QA、QC、PROD、客户端名称有效值为client1、client2等。我希望将所选客户端的生产版本限制在上午8:00到下午3:30之间。我们是否有任何插件可以让我配置规则,说客户端2的构建必须在上午8:00到下午3:30之间被阻止。仅在下午3:30之后,它必须进入队列,然后执行。