Satellites around the Cloud Use remote APIs to integrate your systems with JIRA Studio, Atlassian's hosted software suite. Robin Fernandes Software Developer Atlassian
Satellite Apps REST XML-RPC SOAP RSS
Marvin the IRC bot <fcuozzo> marvin2 resolve JST-4478 as Fixed <marvin2> fcuozzo: Resolved  https://studio.atlassian.com/browse/JST-4478  as Fixed <jkodumal> marvin2  raise task  &quot;Fix xstream dependencies&quot; in NOT assign to me <marvin2> jkodumal: Created issue  https://studio.atlassian.com/browse/NOT-9 <fcuozzo> marvin2 can you buy us dinner? <marvin2> fcuozzo: ''help'' expected but identifier ''can'' found
Satellite Apps  –  run on your favourite platform!
Atlassian CLI
Satellite Apps  –  run them wherever you need!
Scenarios for Satellite Apps ->  Reporting
->  Integration
->  Automation
Reporting using Satellite Apps ->  Reporting ->  Integration ->  Automation
Reporting using Satellite Apps def  client =  n ew  HTTPBuilder( 'http://simpsons.jira.com' ) client. get (path : '/source/rest-service/auth-v1/login' , query: [userName: 'homer' , password: 'beer' ]) { } client. get (path : '/source/rest-service/reviews-v1/filter' , query: [project: 'BEERBARON' ]) { resp, xml -> println   process (xml) }
Reporting using Satellite Apps def  client =  n ew  HTTPBuilder( 'http://simpsons.jira.com' ) client. get (path : '/source/rest-service/auth-v1/login' , query: [userName: 'homer' , password: 'beer' ]) { } client. get (path : '/source/rest-service/reviews-v1/filter' , query: [project: 'BEERBARON' ]) { resp, xml -> println   process (xml) }
Reporting using Satellite Apps def  client =  n ew  HTTPBuilder( 'http://simpsons.jira.com' ) client. get (path : '/source/rest-service/auth-v1/login' , query: [userName: 'homer' , password: 'beer' ]) { } client. get (path : '/source/rest-service/reviews-v1/filter' , query: [project: 'BEERBARON' ]) { resp, xml -> println   process (xml) }
Reporting using Satellite Apps
Useful APIs for Reporting ->  Reporting ->  Integration ->  Automation / Access issue details, retrieve issues by filter Access details of all build results Access details of reviews & repository
->  Reporting ->  Integration ->  Automation Integration using Satellite Apps
Integration using Satellite Apps
Integration using Satellite Apps
Integration using Satellite Apps
Integration using Satellite Apps <?php $wsdl =  'http://simpsons.jira.com/rpc/soap/jirasoapservice-v2?wsdl' ; $username =  'homer' ; $password =  'beer' ; $client =  new  soapclient($wsdl); $token = $client->login($username, $password); $filterID =  '10240' ; $issues = $client->getIssuesFromFilter($token, $filterID); $drupalPages =  create_drupal_pages ($issues); foreach  ($drupalPages  as  $issueKey => $pageUrl) { $remoteComment =  create_remote_comment ($pageUrl); $issues = $client->addComment($token, $issueKey, $remoteComment); }
Integration using Satellite Apps <?php $wsdl =  'http://simpsons.jira.com/rpc/soap/jirasoapservice-v2?wsdl' ; $username =  'homer' ; $password =  'beer' ; $client =  new  soapclient($wsdl); $token = $client->login($username, $password); $filterID =  '10240' ; $issues = $client->getIssuesFromFilter($token, $filterID); $drupalPages =  create_drupal_pages ($issues); foreach  ($drupalPages  as  $issueKey => $pageUrl) { $remoteComment =  create_remote_comment ($pageUrl); $issues = $client->addComment($token, $issueKey, $remoteComment); }
Integration using Satellite Apps <?php $wsdl =  'http://simpsons.jira.com/rpc/soap/jirasoapservice-v2?wsdl' ; $username =  'homer' ; $password =  'beer' ; $client =  new  soapclient($wsdl); $token = $client->login($username, $password); $filterID =  '10240' ; $issues = $client->getIssuesFromFilter($token, $filterID); $drupalPages =  create_drupal_pages ($issues); foreach  ($drupalPages  as  $issueKey => $pageUrl) { $remoteComment =  create_remote_comment ($pageUrl); $issues = $client->addComment($token, $issueKey, $remoteComment); }
Atlassian IDE Connectors
Hercules
->  Reporting ->  Integration ->  Automation / Create & modify issues Manage users Create & modify pages Create reviews & comments Useful APIs for Integration
Scenarios for Satellite Apps ->  Reporting ->  Integration ->  Automation
fairly unique leveraged she literally exploded
Automation using Satellite Apps
Automation using Satellite Apps Post blah put blah blah resource blah idempotent blah representation
Automation using Satellite Apps require   'confluence4r' serverUrl =  'https://simpsons.jira.com/wiki' server   =   Confluence::Server.new(serverUrl) server.login( 'homer' ,   'beer' ) term =  'she literally exploded' server.search( term ,   5).each   {   |searchResult| page   =   server.getPage(searchResult[ 'id' ]) page[ 'content' ]   =   page[ 'content' ].gsub( term ,   '███████' ) server.storePage(page) }
Automation using Satellite Apps require   'confluence4r' serverUrl =  'https://simpsons.jira.com/wiki' server   =   Confluence::Server.new(serverUrl) server.login( 'homer' ,   'beer' ) term =  'she literally exploded' server.search( term ,   5).each   {   |searchResult| page   =   server.getPage(searchResult[ 'id' ]) page[ 'content' ]   =   page[ 'content' ].gsub( term ,   '███████' ) server.storePage(page) }
Useful APIs for Automation ->  Reporting ->  Integration ->  Automation Use filters to monitor for new hot issues Use feeds to listen for build results Kick off new builds Modification & creation of pages

Satellite Apps around the Cloud: Integrating your infrastructure with JIRA Studio

  • 1.
  • 2.
    Satellites around theCloud Use remote APIs to integrate your systems with JIRA Studio, Atlassian's hosted software suite. Robin Fernandes Software Developer Atlassian
  • 3.
    Satellite Apps RESTXML-RPC SOAP RSS
  • 4.
    Marvin the IRCbot <fcuozzo> marvin2 resolve JST-4478 as Fixed <marvin2> fcuozzo: Resolved https://studio.atlassian.com/browse/JST-4478 as Fixed <jkodumal> marvin2 raise task &quot;Fix xstream dependencies&quot; in NOT assign to me <marvin2> jkodumal: Created issue https://studio.atlassian.com/browse/NOT-9 <fcuozzo> marvin2 can you buy us dinner? <marvin2> fcuozzo: ''help'' expected but identifier ''can'' found
  • 5.
    Satellite Apps – run on your favourite platform!
  • 6.
  • 7.
    Satellite Apps – run them wherever you need!
  • 8.
    Scenarios for SatelliteApps -> Reporting
  • 9.
  • 10.
  • 11.
    Reporting using SatelliteApps -> Reporting -> Integration -> Automation
  • 12.
    Reporting using SatelliteApps def client = n ew HTTPBuilder( 'http://simpsons.jira.com' ) client. get (path : '/source/rest-service/auth-v1/login' , query: [userName: 'homer' , password: 'beer' ]) { } client. get (path : '/source/rest-service/reviews-v1/filter' , query: [project: 'BEERBARON' ]) { resp, xml -> println process (xml) }
  • 13.
    Reporting using SatelliteApps def client = n ew HTTPBuilder( 'http://simpsons.jira.com' ) client. get (path : '/source/rest-service/auth-v1/login' , query: [userName: 'homer' , password: 'beer' ]) { } client. get (path : '/source/rest-service/reviews-v1/filter' , query: [project: 'BEERBARON' ]) { resp, xml -> println process (xml) }
  • 14.
    Reporting using SatelliteApps def client = n ew HTTPBuilder( 'http://simpsons.jira.com' ) client. get (path : '/source/rest-service/auth-v1/login' , query: [userName: 'homer' , password: 'beer' ]) { } client. get (path : '/source/rest-service/reviews-v1/filter' , query: [project: 'BEERBARON' ]) { resp, xml -> println process (xml) }
  • 15.
  • 16.
    Useful APIs forReporting -> Reporting -> Integration -> Automation / Access issue details, retrieve issues by filter Access details of all build results Access details of reviews & repository
  • 17.
    -> Reporting-> Integration -> Automation Integration using Satellite Apps
  • 18.
  • 19.
  • 20.
  • 21.
    Integration using SatelliteApps <?php $wsdl = 'http://simpsons.jira.com/rpc/soap/jirasoapservice-v2?wsdl' ; $username = 'homer' ; $password = 'beer' ; $client = new soapclient($wsdl); $token = $client->login($username, $password); $filterID = '10240' ; $issues = $client->getIssuesFromFilter($token, $filterID); $drupalPages = create_drupal_pages ($issues); foreach ($drupalPages as $issueKey => $pageUrl) { $remoteComment = create_remote_comment ($pageUrl); $issues = $client->addComment($token, $issueKey, $remoteComment); }
  • 22.
    Integration using SatelliteApps <?php $wsdl = 'http://simpsons.jira.com/rpc/soap/jirasoapservice-v2?wsdl' ; $username = 'homer' ; $password = 'beer' ; $client = new soapclient($wsdl); $token = $client->login($username, $password); $filterID = '10240' ; $issues = $client->getIssuesFromFilter($token, $filterID); $drupalPages = create_drupal_pages ($issues); foreach ($drupalPages as $issueKey => $pageUrl) { $remoteComment = create_remote_comment ($pageUrl); $issues = $client->addComment($token, $issueKey, $remoteComment); }
  • 23.
    Integration using SatelliteApps <?php $wsdl = 'http://simpsons.jira.com/rpc/soap/jirasoapservice-v2?wsdl' ; $username = 'homer' ; $password = 'beer' ; $client = new soapclient($wsdl); $token = $client->login($username, $password); $filterID = '10240' ; $issues = $client->getIssuesFromFilter($token, $filterID); $drupalPages = create_drupal_pages ($issues); foreach ($drupalPages as $issueKey => $pageUrl) { $remoteComment = create_remote_comment ($pageUrl); $issues = $client->addComment($token, $issueKey, $remoteComment); }
  • 24.
  • 25.
  • 26.
    -> Reporting-> Integration -> Automation / Create & modify issues Manage users Create & modify pages Create reviews & comments Useful APIs for Integration
  • 27.
    Scenarios for SatelliteApps -> Reporting -> Integration -> Automation
  • 28.
    fairly unique leveragedshe literally exploded
  • 29.
  • 30.
    Automation using SatelliteApps Post blah put blah blah resource blah idempotent blah representation
  • 31.
    Automation using SatelliteApps require 'confluence4r' serverUrl = 'https://simpsons.jira.com/wiki' server = Confluence::Server.new(serverUrl) server.login( 'homer' , 'beer' ) term = 'she literally exploded' server.search( term , 5).each { |searchResult| page = server.getPage(searchResult[ 'id' ]) page[ 'content' ] = page[ 'content' ].gsub( term , '███████' ) server.storePage(page) }
  • 32.
    Automation using SatelliteApps require 'confluence4r' serverUrl = 'https://simpsons.jira.com/wiki' server = Confluence::Server.new(serverUrl) server.login( 'homer' , 'beer' ) term = 'she literally exploded' server.search( term , 5).each { |searchResult| page = server.getPage(searchResult[ 'id' ]) page[ 'content' ] = page[ 'content' ].gsub( term , '███████' ) server.storePage(page) }
  • 33.
    Useful APIs forAutomation -> Reporting -> Integration -> Automation Use filters to monitor for new hot issues Use feeds to listen for build results Kick off new builds Modification & creation of pages