Get Job Executions in Rundeck

Following the previous articles, we are now in position to query job executions. The query is done via API as well. As a job can have an arbitrary number of executions, it’s advisable to use pagination. The code follows the same lines as the one in the previous entries:

This function builds the URL […]

Map Subdomains to Docker Containers with Synology

The other day I got fed up with having to insert diskstation.local:12345 to point towards an installed service on my NAS. I also thought that my SO has difficulties remembering all the ports (I do too) and cleaning up the browser cache doesn’t help either. So, I thought: Wouldn’t it be nicer if instead of […]

List Rundeck Jobs for a Project

Now that we Rundeck have a list of project names, we might want to see which jobs were created for each project. To do this, we need: The Rundeck instance’s address (server, port) The API key (api_key) A project’s name (project_name) First, we need to get the list of jobs for a project:

The […]

List Rundeck Projects

The other day I found out that Rundeck has an API which allows it to be controlled remotely by scripts. I’ve decided to write a script to list all the projects defined in a rundeck instance. Prerequisites Before you start, you need: The instance’s URL (server and port) An api key for the user Make […]

Remove Large Files in Git

TL;DR: BFG is your friend. java -jar bfg.jar -b 50M myrepo-bfg.git for example The other day I’ve committed a rather large file by mistake (generated movie of the git commit history). This was a bit annoying because all other developers would have suddenly to check out a 1G file :( with no LFS support… As […]

Run a Rundeck Command as a Different User

TL;DR: Add the rundeck user to the sudoers and then use sudo Installing rundeck on Ubuntu usually results in creating a rundeck user. We had a bunch of issues creating a rundeck job because we needed to execute a command as a specific user (only that user had access to some resources). Unfortunately, rundeck is […]

Build a Django Docker Image with Cx-Oracle

TL;DR: Don’t use alpine images. There’s a glibc issue. We added a cx-oracle dependency to one of our django apps. As the previous image was just an alpine basic (python) image we needed to put in place a process to build the new image. Initially, I’ve tried to use the same alpine image (oh, the […]

Execute a Command in Every Directory with Bash

TL;DR: Use a find-based loop The other day I was wondering how to execute a command in each sub-directory of a project. In python, you have os.walk. In C, I would’ve probably written myself something just for fun etc. In shell, I know you have find which is capable of finding all directories (find (dir) […]

Run Restricted Groovy API in Jenkins

The more recent versions of Jenkins have improved on security. Unfortunately, a side-effect is that scripts which were running before would fail now. An example is:

… which would list the projects defined in Jenkins. Fortunately, you can have access to theis API via the In-process Script Approval plugin (which is installed by default). […]

Scroll to top