Skip to content
GitLab
    • Explore Projects Groups Snippets
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • P pagerbot
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 16
    • Issues 16
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Stripe Community Contributions
  • pagerbot
  • Merge requests
  • !42
An error occurred while fetching the assigned milestone of the selected merge_request.

Make schedule_override use the asking person's timezone

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Daniel Benamy requested to merge github/fork/dbenamy/override-tz into master 8 years ago
  • Overview 1
  • Commits 1
  • Pipelines 0
  • Changes 2

This changes the UI but hopefully in a way that's enough of an improvement that it excuses any confusion people have when upgrading.

Compare
  • master (base)

and
  • latest version
    d3ac2195
    1 commit, 2 years ago

2 files
+ 33
- 7

    Preferences

    File browser
    Compare changes
lib/pager‎bot/plugin‎
schedule_o‎verride.rb‎ +6 -6
test/unit/pag‎erbot/plugins‎
schedule_o‎verride.rb‎ +27 -1
lib/pagerbot/plugin/schedule_override.rb
+ 6
- 6
  • View file @ d3ac2195

  • Edit in single-file editor

  • Open in Web IDE


@@ -81,11 +81,12 @@ module PagerBot::Plugins
+PagerBot::Utilities::DispatchMethod
def dispatch(query, event_data)
# put me on primary breakage from 2 pm until 9 pm
asker = pagerduty.find_user(event_data[:nick])
person = pagerduty.find_user(query[:person], event_data[:nick])
from = person.parse_time(query[:from])
from = asker.parse_time(query[:from])
if query[:to]
to = person.parse_time(query[:to])
to = asker.parse_time(query[:to])
else
duration = ChronicDuration.parse(query[:for], :keep_zero => true)
raise "Failed to parse duration from `#{query[:for]}`." if duration == 0
@@ -110,11 +111,10 @@ module PagerBot::Plugins
},
:content_type => :json)
# TODO: Answer should be askers timezone?
vars = {
person: person,
from: person.parse_time(override[:override][:start]),
to: person.parse_time(override[:override][:end]),
from: asker.parse_time(override[:override][:start]),
to: asker.parse_time(override[:override][:end]),
schedule: schedule
}
test/unit/pagerbot/plugins/schedule_override.rb
+ 27
- 1
  • View file @ d3ac2195

  • Edit in single-file editor

  • Open in Web IDE


@@ -54,7 +54,7 @@ class ScheduleOverridePlugin < Critic::MockedPagerDutyTest
check_parse_fails("who is on primary")
end
it "should skip parsing switch_shift queries" do
it "should skip parsing switch_shift queries" do
check_parse_fails("put me on primary during nel's shift on 5th of August")
end
end
@@ -87,6 +87,32 @@ class ScheduleOverridePlugin < Critic::MockedPagerDutyTest
expected = "Ok. Put Karl-Aksel Puulmann on Primary breakage from 2014-07-29 01:09:21 +0000 until 2014-07-29 03:09:21 +0000"
assert_equal(expected, val.fetch(:message))
end
it "should use the asking person's timezone when interpreting times" do
PagerBot.pagerduty
.expects(:post)
.with { |_, params, _| params[:override][:start] == '2016-01-01T12:00:00-05:00' }
.returns({
# Not used by the test, it's just here so the code doesn't blow up.
override: {
id: "PRIMAR1",
user: {
name: "Karl-Aksel Puulmann",
id: "P123456"
},
start: "2016-01-01T01:00:00Z",
end: "2016-01-01T03:00:00Z"
}
})
query = {
person: "karl",
schedule: "primary",
from: "2016-01-01 at 12:00",
for: "2 hours"
}
@plugin_manager.dispatch("schedule_override", query, {nick: "john"})
end
end
end
end
0 Assignees
None
Assign to
0 Reviewers
None
Request review from
Labels
0
None
0
None
    Assign labels
  • Manage project labels

Milestone
No milestone
None
None
Time tracking
No estimate or time spent
Lock merge request
Unlocked
0
0 participants
Reference:
Source branch: github/fork/dbenamy/override-tz

Menu

Explore Projects Groups Snippets