ปิด

Build notification tool integrating with Jenkins, Git, GitHub, Slack, and Elasticsearch - 02/08/2018 13:19 EDT

I have a need for a CLI tool to take various pieces of build information (Jenkins, CircleCI) and the project metadata (GitHub pull requests, git commits) and wrap them up into various notification messages (Slack, Email, Elasticsearch).

Ideally, the build systems and messaging should be extendable to where more could be easily added later (ie. a user is running the tool in CirlceCI instead of Jenkins or messaging Discord instead of Slack). It currently only needs to send one type of Slack message, an Elasticsearch event, and create a GitHub deployment ([login to view URL]).

The flow in my example looks something like this:

* Gather information on Jenkins promotion /deployment (who triggered, which builds affected).

* Figure which actual builds are associated with the deployment.

* Gather information on the previous Jenkins promotion where the builds are different (don't show two deployments for same builds).

* For each build, gather the necessary git information using current SHA1 and previous deployment SHA1 (current SHA1, previous SHA1 from last deployment, pull request merge #s from log between two SHA1, count of git commits, list of git commits).

* Using the git information, gather GitHub information (information on each PR, links for comparison between two SHA1).

* Using this information allow for templated message building (allow me to construct a message using metadata like {{author_name}}, {{build_current}}, {{build_previous}}, {{count_prs}}, {{count_committs}}, {{url_promotion}}, {{url_build}}, {{url_github_compare}}, etc.).

* The message should be posted to configurable Slack channel and Elasticsearch index.

* A GitHub deployment for the GitHub project associated with the build is created.

* Different messaging outputs could have different templates / metadata attached but it is a nice to have and not a requirement for first iteration.

* The initial build tool is Jenkins. But it would be nice to be written in a way that the build tool was an abstraction and you might be able to write a class or plugin to handle other build tools later on (such as CircleCI or Atlassian Bamboo).

* Slack and Elasticsearch are initial outputs for messages / events. But it would be nice for messaging to be abstracted so others could be easily written as well.

* There is only one type of message at the moment (a deployment message) but I suppose it should be taken into consideration that there could be different types of messages handled later on (maybe just as separate template files or a --type flag of sorts).

I have some example code I can show to illustrates more of what I am trying to accomplish. But I'm realizing that this is more than I can build by myself. I'd love to pay someone versed in Python and possibly these other technologies to bring it to light.

I'd also be planning to keep the code on GitHub and make it an open source project. I may be interested in paying for additional work on the tool as needed and/or taking contributions from contributors under an open source license. Keep this in mind if it conflicts with how your work is eventually used.

ทักษะ: Elasticsearch, Python

ดูเพิ่มเติม : build system tray notification, build notification phone, build flash tool shirt design, build shirt designer tool, integrating ups shipping tool, free tool build augmented reality, build apple push notification asp, j2ee build automation tool, saas push notification tool, jenkins git linux, linux jenkins git, jenkins git, jenkins git plugin github plugin, build notification app, jenkins git parameter plugin, jenkins git parameter, where can i find a coder to build my tool, jenkins build tool, notification tool

เกี่ยวกับนายจ้าง:
( 0 บทวิจารณ์ ) Austin, United States

หมายเลขโปรเจค: #17494174

freelancer 7 คน กำลังเสนอราคาเฉลี่ยที่ $458 สำหรับงานนี้

$555 USD ใน 10 วัน
(38 บทวิจารณ์)
6.9
$666 USD ใน 10 วัน
(1 บทวิจารณ์)
3.5
DarkKnight2206

Hello! I am a python developer. I looked at your project and it seems interesting. I have all necessary skills required for this project. Ping me to discuss in detail.

$375 USD ใน 2 วัน
(19 บทวิจารณ์)
3.3
$555 USD ใน 10 วัน
(1 บทวิจารณ์)
0.9
$250 USD ใน 10 วัน
(6 บทวิจารณ์)
0.0
$250 USD ใน 10 วัน
(0 บทวิจารณ์)
0.0
piriyan17

I am Working as DevOps Engineer. I have enough experience to work on this cicd pipeline using these tools. Because I’ve worked a lot of projects build & deployment stuff in my carrier.

$555 USD ใน 10 วัน
(0 บทวิจารณ์)
0.0