(self, data=None, **kwargs)
return job
Creates a new instance of a Treeherder job for submission.

        :param data: Job data to use for initilization, e.g. from a previous submission, optional
        :param kwargs: Dictionary of necessary values to build the job details. The
            properties correlate to the placeholders in config.py.
Creates a new instance of a Treeherder job for submission.
Creates a new instance of a Treeherder job for submission .
def create_job(self, data=None, **kwargs):
        """Creates a new instance of a Treeherder job for submission.

        :param data: Job data to use for initilization, e.g. from a previous submission, optional
        :param kwargs: Dictionary of necessary values to build the job details. The
            properties correlate to the placeholders in config.py.

        """
        data = data or {}

        job = TreeherderJob(data=data)

        # If no data is available we have to set all properties
        if not data:
            job.add_job_guid(str(uuid.uuid4()))
            job.add_tier(self.settings['treeherder']['tier'])

            job.add_product_name('firefox')

            job.add_project(self.repository)
            job.add_revision(self.revision)

            # Add platform and build information
            job.add_machine(socket.getfqdn())
            platform = self.settings["treeherder"]["platform"]
            job.add_machine_info(*platform)
            job.add_build_info(*platform)

            # TODO debug or others?
            job.add_option_collection({'opt': True})

            # TODO: Add e10s group once we run those tests
            job.add_group_name(self.settings['treeherder']['group_name'].format(**kwargs))
            job.add_group_symbol(self.settings['treeherder']['group_symbol'].format(**kwargs))

            # Bug 1174973 - for now we need unique job names even in different groups
            job.add_job_name(self.settings['treeherder']['job_name'].format(**kwargs))
            job.add_job_symbol(self.settings['treeherder']['job_symbol'].format(**kwargs))

            job.add_start_timestamp(int(time.time()))

            # Bug 1175559 - Workaround for HTTP Error
            job.add_end_timestamp(0)

        return job
def create_job ( self , data = None , * * kwargs ) : data = data or { } job = TreeherderJob ( data = data ) # If no data is available we have to set all properties if not data : job . add_job_guid ( str ( uuid . uuid4 ( ) ) ) job . add_tier ( self . settings [ 'treeherder' ] [ 'tier' ] ) job . add_product_name ( 'firefox' ) job . add_project ( self . repository ) job . add_revision ( self . revision ) # Add platform and build information job . add_machine ( socket . getfqdn ( ) ) platform = self . settings [ "treeherder" ] [ "platform" ] job . add_machine_info ( * platform ) job . add_build_info ( * platform ) # TODO debug or others? job . add_option_collection ( { 'opt' : True } ) # TODO: Add e10s group once we run those tests job . add_group_name ( self . settings [ 'treeherder' ] [ 'group_name' ] . format ( * * kwargs ) ) job . add_group_symbol ( self . settings [ 'treeherder' ] [ 'group_symbol' ] . format ( * * kwargs ) ) # Bug 1174973 - for now we need unique job names even in different groups job . add_job_name ( self . settings [ 'treeherder' ] [ 'job_name' ] . format ( * * kwargs ) ) job . add_job_symbol ( self . settings [ 'treeherder' ] [ 'job_symbol' ] . format ( * * kwargs ) ) job . add_start_timestamp ( int ( time . time ( ) ) ) # Bug 1175559 - Workaround for HTTP Error job . add_end_timestamp ( 0 ) return job