Access build parameters in a custom jenkins plugin - jenkins

I have a requirement to access build parameters in my custom Jenkins plugin.
I searched everywhere. But I couldn't find an answer.
How can I access build parameters in my custom Jenkins plugin code?

Related

How to use AWS Parameter Store Build Wrapper Jenkins plugin

I want to use the AWS Parameter Store Build Wrapper Jenkins plugin in my build.
https://plugins.jenkins.io/aws-parameter-store/
Above is the link to that plugin. The issue is I didn't find any proper source on how to use that plugin in the jenkinsfile.
When I installed that plugin to my local Jenkins, I couldn't see how to configure that plugin in any jenkins build configuration page as well.
If anyone can shed some light on this issue, that would be great.
My ultimate goal is to access some things from the AWS Parameter store. If there's any other way that I can achieve this, I'm more than happy to use that way instead of this plugin as well.

Is it possible to use external jars via #grab from inside the Jenkins groovy postbuild plugin?

I want to send some specific notifications (REST API) back to our server, which triggered our Jenkins build jobs via REST API. For this, I am about to include a jar of our own, which has a lot of convenience methods in it.
I am able to use the jars inside the Groovy Script by utilizing #Grab, that's fine.
But it doesn't seem to work from within Groovy Postbuild Plugin.
It even doesn't recognize referenced script files from within another package, which is next to the script file.
Is there a workaround? How can I send my specific notification using java or groovy and the methods provided in our own jar? Do I need to write a Jenkins Plugin for this (hope not). Thanks in advance, Anne
I would actually recommend to changing your jobs over to Jenkins Declarative pipeline. Then you can use the post handling built into the Jenkins pipeline language. You then have some options. You could use the pipeline steps provided by the HTTP Request plugin to call REST APIs, create a Java tool to call your REST APIs using your Jar library (install as a custom tool which can be used from pipeline) or write a custom plugin to provide the pipeline steps. If you decide to write a plugin have a look at the Webhook Step plugin for how to do it - https://github.com/jenkinsci/webhook-step-plugin. Your best bet might be a custom Java command line tool called from a pipeline shell step (sh or bat) depending on the agent / slave OS you use.

global tool configurations in jenkins through cli?

Is there a way to add global tool configurations for artifactory and aws in jenkins through cli?
I'm trying to write chef cookbook for automating creation of Jenkins job, but I don't know how to add credentials for tools.
Credentials don't depend on the tools which will use them.
You can register credentials in general through the JENKINS Credentials Plugin API: see for instance
How to create jenkins credentials via the REST API? (similar to jenkins_api_client issue 162)
update Jenkins credentials by script
You can then use those credentials in association with a Jenkins Job.
Your question is twofold.
Credentials
The Jenkins chef cookbook offers a jenkins_credentials resource, which allows you to pipe credentials (using Jenkins API internally) into your Jenkins instance.
Global Tool Configuration
You can use the jenkins_script resource of the same cookbook to execute any Groovy script. This allows you to configure your Jenkins instance. You now just have to figure out exactly, what the code is to, e.g., select the previously defined credentials. But the code looks similarly to the example given in the cookbook's README.

how to use Jenkins apiToken for build api

Could someone please elaborate on how to use jenkins apiToken for build through rest api.
I want to use user based authentication for Jenkins build.
So I have that apiToken with me but when I am trying to build a job I am getting forbidden exception.
I have followed the below url for build a job.
https://wiki.jenkins-ci.org/display/JENKINS/Authenticating+scripted+clients
There is a project called Python Jenkins that provides the wrapper around the Jenkins REST API. I believe you may find a sample of using the authenticated build invocation there. You may find it here

Artifactory parameters in Jenkins build

I am using the Artifactory Jenkins plugin to publish artifacts using the Generic-Artifactory Integration. I would like to be able to refer to the Artifactory Server URL and Target Repository as variables later on in a build script.
Does Artifactory expose these parameters as accessible variables? If so, what are they?
The only other option I have thought of is creating my own variables using the Environment Variable Injector plugin and referencing those variables in the Artifactory fields.
I would prefer to go with option 1.

Resources