Jenkins
Tools for interacting withJenkins.
Overview
Thelangchain-jenkins
package allows you to execute and control CI/CD pipelines withJenkins.
Setup
Installlangchain-jenkins
:
%pip install--upgrade--quiet langchain-jenkins
Credentials
You'll need to setup or obtain authorization to access Jenkins server.
import getpass
import os
def_set_env(var:str):
ifnot os.environ.get(var):
os.environ[var]= getpass.getpass(f"{var}: ")
_set_env("PASSWORD")
Instantiation
To disable the SSL Verify, setos.environ["PYTHONHTTPSVERIFY"] = "0"
from langchain_jenkinsimport JenkinsAPIWrapper, JenkinsJobRun
tools=[
JenkinsJobRun(
api_wrapper=JenkinsAPIWrapper(
jenkins_server="https://example.com",
username="admin",
password=os.environ["PASSWORD"],
)
)
]
Invocation
You can now call invoke and pass arguments.
- Create the Jenkins job
jenkins_job_content=""
src_file="job1.xml"
withopen(src_file)as fread:
jenkins_job_content= fread.read()
tools[0].invoke({"job":"job01","config_xml": jenkins_job_content,"action":"create"})
- Run the Jenkins Job
tools[0].invoke({"job":"job01","parameters":{},"action":"run"})
- Get job info
resp= tools[0].invoke({"job":"job01","number":1,"action":"status"})
ifnot resp["inProgress"]:
print(resp["result"])
- Delete the jenkins job
tools[0].invoke({"job":"job01","action":"delete"})
Chaining
TODO.
API reference
For detailed documentationAPI reference
Related
- Toolconceptual guide
- Toolhow-to guides