Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reengineer routine to fetch Rally ticket info over multiple I/O channels #15

Open
wants to merge 41 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
4eba754
WIP! Rearchitect rallyme script to handle different output methods
Sep 29, 2014
69129a1
Return details of Rally defects as Slack-formatted JSON in response body
Sep 29, 2014
fe3994d
Fix public link to defect
Sep 29, 2014
1600e92
Move existing GetDefectPayload to rallyme include file
Sep 29, 2014
233f2b0
Re-engineer GetDefectPayload interface for Fetch routine
Sep 29, 2014
f185ecd
Remove unused & single-use variables in GetDefectPayload
Sep 29, 2014
6d2a966
Refactor defect link creation in GetDefectPayload
Sep 30, 2014
124b016
Rearrange field definitions & delete unused vars in GetDefectPayload
Sep 30, 2014
6386548
Rearrange code in GetDefectPayload for readability
Sep 30, 2014
ce2adc9
Remove unnecessary variable definitions in GetDefectPayload
Sep 30, 2014
8d3386a
Micro-optimize object declaration to piss off ircmaxell
Sep 30, 2014
39bb479
Update rallyme.inc.php
Sep 30, 2014
7263d8c
Move BuildUserLink to Slack library file
Sep 30, 2014
4fc5427
Generalize Slack's BuildUserLink
Sep 30, 2014
47fd3fd
Remove deprecated functions
Sep 30, 2014
c153a7f
Report user errors either via incoming webhook or response body
Sep 30, 2014
639b358
Exit on user error
Sep 30, 2014
837360f
Fix error in rallyme error-handler
Sep 30, 2014
e0aa70f
Enable posting two versions of defect info via incoming webhook
Oct 1, 2014
2837b9b
Remove deprecated functions
Oct 1, 2014
0ec67da
Remove deprecated functions
Oct 1, 2014
269a8d2
Add abstractions related to script execution for reuse/elaboration
Oct 1, 2014
d98c212
Remove short-form array declaration for back-compatibility
Oct 1, 2014
8b0c1d8
Remove short-form array declaration for back-compatibility
Oct 1, 2014
388e597
Move GetRequirementPayload to rallyme include file for re-engineering
Oct 1, 2014
99113c0
Refactor GetRequirementPayload to make it easier on my poor lizard brain
Oct 1, 2014
f8a5e59
Handle sending user story details via incoming webhook
Oct 1, 2014
56ff06f
Remove deprecated functions
Oct 1, 2014
0dda36d
Handle sending user story or task details via incoming webhook
Oct 1, 2014
8119d5c
Refactor settings variables and includes
jpklein Oct 1, 2014
b6ff156
Refactor rallyme includes
jpklein Oct 1, 2014
5448eae
Specify artifact type in query URL to reduce resultset from Rally
jpklein Oct 1, 2014
f539412
Refactor to abstract notion of artifact-payload header information
jpklein Oct 2, 2014
bdc71eb
Add troubleshooting message on webhook failure
jpklein Oct 2, 2014
c9dd514
Update display of stories
jpklein Oct 2, 2014
c1bf27f
Update display of tasks
jpklein Oct 2, 2014
b1b69d3
Filter info when field names added to command
jpklein Oct 2, 2014
95a14c4
Move Slack library functions out of rally file
jpklein Oct 2, 2014
6a1ee49
Allow truncated text to display read more link
jpklein Oct 2, 2014
1d25775
Update README.md with rallybot usage instructions
Oct 2, 2014
45dbe56
Defactor global settings vars to match legacy approach
jpklein Oct 3, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 9 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,24 @@ A place where I put some integration scripts for the popular Slack messaging pla

#Rally Bot

We use this to query our Rally instance for defects, tasks and user stories. I have it configured to respond to a /rallyme slash command in Slack.

E.g.:
We use this to query our Rally instance for defects, tasks and user stories. It can be configured to respond to Slack [slash command](https://slack.zendesk.com/hc/en-us/articles/201259356-Slash-Commands) or to messages posted to a channel that start with a Rally ticket's formatted id, e.g.:
```
/rallyme DE12345
/rallyme US23456
/rallyme TA34567

Each of these returns a nicely formatted summary of the defect, story or task, including the owner/submitter, creation date, story title, project and description. For documents that have attachments, such as uploaded screenshots, the summary will include a link to the first available attachment.
/rallyme US23456 project
TA34567 owner description
```
Entering the id of an artifact without any arguments returns a nicely formatted summary of the defect, story or task, including the owner/submitter, creation date, story title, project and description. For documents that have attachments, such as uploaded screenshots, the summary will include a link to the first available attachment. Otherwise, adding one or more field names after the id will filter the summary to just display the requested fields.

#Image Bot / Gif Bot

This one is simple. It uses the google image search JSON API to query for images that match a keyword. It is configured to use the Safe Search feature, since we use this tool in the workplace. Being able to add some levity to our work chats with amusing images from the internet makes life more fun.

E.g.
```
/imageme kittens
/gifme roflcopter

```

#XKCD Bot

As geeks, we are well acquainted with the internet comic XKCD. This bot allows you to post an XKCD comic to the room, including the ALT text, which will be displayed beneath the image.

E.g.
/xkcd 100 will return the "family circus" episode of XKCD.
E.g. `/xkcd 100` will return the "family circus" episode of XKCD.
Loading