SlideShare a Scribd company logo
 
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

More Related Content

PDF
How to develop modern web application framework
techmemo
 
PDF
優しいWAFの作り方
techmemo
 
KEY
Elegant APIs
Andrew Timberlake
 
PDF
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
崇之 清水
 
PDF
Emberjs building-ambitious-web-applications
ColdFusionConference
 
DOCX
anugula2setupbyshubham
Shubham Verma
 
PDF
Incremental Type Safety in React Apollo
Evans Hauser
 
KEY
Easy ota intro
Myungjin Choi
 
How to develop modern web application framework
techmemo
 
優しいWAFの作り方
techmemo
 
Elegant APIs
Andrew Timberlake
 
RESTful API を Chalice で紐解く 〜 Python Serverless Microframework for AWS 〜
崇之 清水
 
Emberjs building-ambitious-web-applications
ColdFusionConference
 
anugula2setupbyshubham
Shubham Verma
 
Incremental Type Safety in React Apollo
Evans Hauser
 
Easy ota intro
Myungjin Choi
 

What's hot (20)

DOCX
Angular2RoutingSetupByShubham
Shubham Verma
 
PDF
SocketIOSetupWithAngularJSAppByShubham
Shubham Verma
 
PPTX
A different thought angular js part-3
Amit Thakkar
 
PDF
Mobile Device APIs
James Pearce
 
PPTX
REST API for your WP7 App
Agnius Paradnikas
 
PDF
Django for IoT: From hackathon to production (DjangoCon US)
Anna Schneider
 
PDF
implementar Laravel make auth
Sebastian Romero
 
DOCX
Git setuplinux
Shubham Verma
 
PDF
Lightning Components Best Practices by Fabien Taillon
Bordeaux Salesforce Developer Group
 
PDF
Build a bot workshop async primer - php[tek]
Adam Englander
 
PDF
Como construir uma Aplicação que consuma e produza updates no Twitter usando ...
Cirdes Filho
 
PDF
Keeping it small - Getting to know the Slim PHP micro framework
Jeremy Kendall
 
PPTX
Asynchronous Task Queues with Celery
Kishor Kumar
 
PDF
ZendCon 2017 - Build a Bot Workshop - Async Primer
Adam Englander
 
PPT
Routes
Dharin Rajgor
 
PPT
Joomla! Day UK 2009 .htaccess
Andy Wallace
 
PDF
Introduction to Retrofit
Kazuhiro Serizawa
 
ODP
Consume RESTful APIs with $resource and Restangular
John Schmidt
 
PPTX
Intro to Silex
Joey Rivera
 
Angular2RoutingSetupByShubham
Shubham Verma
 
SocketIOSetupWithAngularJSAppByShubham
Shubham Verma
 
A different thought angular js part-3
Amit Thakkar
 
Mobile Device APIs
James Pearce
 
REST API for your WP7 App
Agnius Paradnikas
 
Django for IoT: From hackathon to production (DjangoCon US)
Anna Schneider
 
implementar Laravel make auth
Sebastian Romero
 
Git setuplinux
Shubham Verma
 
Lightning Components Best Practices by Fabien Taillon
Bordeaux Salesforce Developer Group
 
Build a bot workshop async primer - php[tek]
Adam Englander
 
Como construir uma Aplicação que consuma e produza updates no Twitter usando ...
Cirdes Filho
 
Keeping it small - Getting to know the Slim PHP micro framework
Jeremy Kendall
 
Asynchronous Task Queues with Celery
Kishor Kumar
 
ZendCon 2017 - Build a Bot Workshop - Async Primer
Adam Englander
 
Joomla! Day UK 2009 .htaccess
Andy Wallace
 
Introduction to Retrofit
Kazuhiro Serizawa
 
Consume RESTful APIs with $resource and Restangular
John Schmidt
 
Intro to Silex
Joey Rivera
 
Ad

Similar to Satellite Apps around the Cloud: Integrating your infrastructure with JIRA Studio (9)

PDF
Exploring the JIRA 5 REST API - AtlasCamp 2011
Atlassian
 
PDF
Business-friendly library for inter-service communication
Pivorak MeetUp
 
KEY
EcoSystem Tools for Admins - AtlasCamp 2011
Atlassian
 
PPTX
Automate that
Atlassian
 
PPTX
Automate That! Scripting Atlassian applications in Python
Atlassian
 
PDF
MesosCon - Be a microservices hero
Dragos Dascalita Haut
 
PDF
Jira State Of Union
Atlassian
 
ODP
Schenker - DSL for quickly creating web applications in Perl
Jiro Nishiguchi
 
PDF
APIs for mobile
Andrei Navarro
 
Exploring the JIRA 5 REST API - AtlasCamp 2011
Atlassian
 
Business-friendly library for inter-service communication
Pivorak MeetUp
 
EcoSystem Tools for Admins - AtlasCamp 2011
Atlassian
 
Automate that
Atlassian
 
Automate That! Scripting Atlassian applications in Python
Atlassian
 
MesosCon - Be a microservices hero
Dragos Dascalita Haut
 
Jira State Of Union
Atlassian
 
Schenker - DSL for quickly creating web applications in Perl
Jiro Nishiguchi
 
APIs for mobile
Andrei Navarro
 
Ad

More from Atlassian (20)

PPTX
International Women's Day 2020
Atlassian
 
PDF
10 emerging trends that will unbreak your workplace in 2020
Atlassian
 
PDF
Forge App Showcase
Atlassian
 
PDF
Let's Build an Editor Macro with Forge UI
Atlassian
 
PDF
Meet the Forge Runtime
Atlassian
 
PDF
Forge UI: A New Way to Customize the Atlassian User Experience
Atlassian
 
PDF
Take Action with Forge Triggers
Atlassian
 
PDF
Observability and Troubleshooting in Forge
Atlassian
 
PDF
Trusted by Default: The Forge Security & Privacy Model
Atlassian
 
PDF
Designing Forge UI: A Story of Designing an App UI System
Atlassian
 
PDF
Forge: Under the Hood
Atlassian
 
PDF
Access to User Activities - Activity Platform APIs
Atlassian
 
PDF
Design Your Next App with the Atlassian Vendor Sketch Plugin
Atlassian
 
PDF
Tear Up Your Roadmap and Get Out of the Building
Atlassian
 
PDF
Nailing Measurement: a Framework for Measuring Metrics that Matter
Atlassian
 
PDF
Building Apps With Color Blind Users in Mind
Atlassian
 
PDF
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Atlassian
 
PDF
Beyond Diversity: A Guide to Building Balanced Teams
Atlassian
 
PDF
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
Atlassian
 
PDF
Building Apps With Enterprise in Mind
Atlassian
 
International Women's Day 2020
Atlassian
 
10 emerging trends that will unbreak your workplace in 2020
Atlassian
 
Forge App Showcase
Atlassian
 
Let's Build an Editor Macro with Forge UI
Atlassian
 
Meet the Forge Runtime
Atlassian
 
Forge UI: A New Way to Customize the Atlassian User Experience
Atlassian
 
Take Action with Forge Triggers
Atlassian
 
Observability and Troubleshooting in Forge
Atlassian
 
Trusted by Default: The Forge Security & Privacy Model
Atlassian
 
Designing Forge UI: A Story of Designing an App UI System
Atlassian
 
Forge: Under the Hood
Atlassian
 
Access to User Activities - Activity Platform APIs
Atlassian
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Atlassian
 
Tear Up Your Roadmap and Get Out of the Building
Atlassian
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Atlassian
 
Building Apps With Color Blind Users in Mind
Atlassian
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Atlassian
 
Beyond Diversity: A Guide to Building Balanced Teams
Atlassian
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
Atlassian
 
Building Apps With Enterprise in Mind
Atlassian
 

Recently uploaded (20)

PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
Doc9.....................................
SofiaCollazos
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Software Development Methodologies in 2025
KodekX
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Doc9.....................................
SofiaCollazos
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 

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

  • 1.  
  • 2. Satellites around the Cloud Use remote APIs to integrate your systems with JIRA Studio, Atlassian's hosted software suite. Robin Fernandes Software Developer Atlassian
  • 3. Satellite Apps REST XML-RPC SOAP RSS
  • 4. 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
  • 5. Satellite Apps – run on your favourite platform!
  • 7. Satellite Apps – run them wherever you need!
  • 8. Scenarios for Satellite Apps -> Reporting
  • 11. Reporting using Satellite Apps -> Reporting -> Integration -> Automation
  • 12. 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) }
  • 13. 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) }
  • 14. 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) }
  • 16. 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
  • 17. -> Reporting -> Integration -> Automation Integration using Satellite Apps
  • 21. 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); }
  • 22. 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); }
  • 23. 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); }
  • 26. -> Reporting -> Integration -> Automation / Create & modify issues Manage users Create & modify pages Create reviews & comments Useful APIs for Integration
  • 27. Scenarios for Satellite Apps -> Reporting -> Integration -> Automation
  • 28. fairly unique leveraged she literally exploded
  • 30. Automation using Satellite Apps Post blah put blah blah resource blah idempotent blah representation
  • 31. 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) }
  • 32. 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) }
  • 33. 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
  • 35. Robin Fernandes Software Developer Atlassian Satellites Around Studio More information, links & code samples: http://bit.ly/satellitesTalk