influxdata / influxdata/telegraf
Add support to Jenkins build attributes as optional tags
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 17.8k
- Forks
- 5.8k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 161
Description
Use Case
I would like to enrich the existing jenkins_job measurement with optional tags about the job build.
There are a bunch of other attributes that may be useful for people to include in their telegraf configurations. In our case we rename the job build and description with useful information at the trigger stage of our build. Furthermore, having a real-time indicator of jobs that are still building would be super useful.
URL endpoint: https://<jenkinsHostname>/job/<jobName>/<buildNumber>/api/json
I think this is of course very opinionated, but it'd be useful to tag the datapoint with the content of these attributes, optionally:
inProgressorbuildingdisplayNamedescription
Expected behavior
As stated in my use case, extra tags per data point to better enrich our monitoring system
Actual behavior
Only a small subset of attributes are queried and reported by the jenkins input plugin.
Additional info
From an implementation perspective, Perhaps an array of hardcoded build attributes would make it less opinionated and more flexible without affecting the existing behaviour.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the existing Jenkins input plugin and its requests to the Jenkins /job///api/json endpoint. Check how current build attributes become measurement fields, then verify that the requested build attributes are optional and do not change existing output when disabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- observability-sre
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100